之前學過用SELECT字串加上 || column 來組合查詢結果
SELECT 'Hi ! ' || ename AS HI
FROM emp
也可以用CONCAT來達成同樣的效果
SELECT CONCAT('Hi ! ', ename) AS HI
FROM emp
| HI |
|---|
| Hi !KING |
| Hi !BLAKE |
| Hi !CLARK |
| Hi !JONES |
| Hi !SCOTT |
| Hi !FORD |
| Hi !SMITH |
| Hi !ALLEN |
| Hi !WARD |
| Hi !MARTIN |
假如我們輸入以下query
SELECT UPPER('hello')
FROM emp
WHERE deptno = 20
這樣就只會有符合條件的資料會變成大寫HELLO
| UPPER('HELLO') |
|---|
| HELLO |
| HELLO |
| HELLO |
| HELLO |
| HELLO |
DUAL表
簡單來說,dual表就是oracle與數據字典自動創建的一張表,這張表是一個單行單列的表,這個表只有1列:DUMMY,數據類型為VERCHAR2(1),dual表中只有一個數據'X', Oracle有內部邏輯保證dual表中永遠只有一條數據。dual表主要是用來選擇系統變量或是求一個表達式的值。
比如:
--求系統當前時間
SELECT sysdate FROM daul
--求系統當前時間,並按設定的格式顯示
select to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'') from dual;
--當計算器使用
select 1+2 from dual
除了upper把字都轉大寫以外當然也要有把字轉小寫的功能
這就要透過lower來完成
query:
select LOWER('hello')
from DUAL
| LOWER('HELLO') |
|---|
| hello |
練習query
SELECT
CONCAT(CONCAT(LOWER(ename), UPPER(' is the name')), CONCAT(Lower(' and their job is : '), UPPER(job))) AS sentence
FROM
emp
WHERE
deptno = 20
| SENTENCE |
|---|
| jones IS THE NAME and their job is : MANAGER |
| scott IS THE NAME and their job is : ANALYST |
| ford IS THE NAME and their job is : ANALYST |
| smith IS THE NAME and their job is : CLERK |
| adams IS THE NAME and their job is : CLERK |
0 Comments:
張貼留言