ORACLE 基本指令
1. 日期類
- 將日期格式化→'31-12月-11'→'2011/12/31'
- SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
- 系統日期
- SELECT SYSDATE FROM DUAL;
- 日期加上I個月後的日期
- SELECT ADD_MONTH(SYSDATE,6) FROM DUAL;
- 回傳下一個星期幾,回傳下一個星期三
- SELECT NEXT_DAY(SYSDATE,'星期三') FROM DUAL;
- 回傳所在月份的最後一天
- SELECT LAST_DAT(SYSDATE) FROM DUAL;
- 回傳之間差了幾個月
- SELECT MONTHS_BETWEEN('11-11月-11',SYSDATE) FROM DUAL;
- 回傳指定日期的參數資料
- SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;
- SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL;
- SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL;
- SELECT EXTRACT(HOUR FROM TIMESTAMP '2011-11-11 11:11:11') FROM DUAL;
- SELECT EXTRACT(MINUTE FROM TIMESTAMP '2011-11-11 11:11:11') FROM DUAL;
2. 字串類
- 大寫
- SELECT UPPER('hello') FROM DUAL;
- 小寫
- SELECT LOWER('HELLO') FROM DUAL;
- 字串相加
- SELECT LOWER('HELLO','WORLD') FROM DUAL;
- 取字串,從第三個字元開始取5位,回傳LLO W
- SELECT SUBSTR('HELLO WORLD',3,5) FROM DUAL;
- 取的字串位置,回傳6
- SELECT INSTR('HELLO WORLD','WORLD') FROM DUAL;
- 填補字元數 LPAD、RPAD,回傳 $$$$$HELLO
- SELECT LPAD('HELLO',10,'$') FROM DUAL;
3. 數值類
- 四捨五入,回傳123.46
- SELECT ROUND(123.456,2) FROM DUAL;
- 無條件捨去,回傳123.45
- SELECT TRUNC(123.456,2) FROM DUAL;
- 取大於等於N的,回傳124
- SELECT CEIL(123.567) FROM DUAL;
- 取小於等於N的,回傳123
- SELECT FLOOR(123.567) FROM DUAL;
4. 轉換函數
- 日期到字元
- SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
- 字元到日期
- SELECT TO_DATE('2011-11-11','YYYY-MM-DD') FROM DUAL;
- 數字到字元,回傳1,234.567
- SELECT TO_CHAR(1234.567,'99,999.999') FROM DUAL;
5. 比較函數
- 傳回字元中最大者,回傳C
- SELECT GREATEST('A','B','C') FROM DUAL;
- 傳回字元中最小者,回傳A
- SELECT LEAST('A','B','C') FROM DUAL;
- CASE WHEN,如果職稱是MANAGER,就拿1000,如果是EMPLOYEE,就拿500,其他0
- SELECT DECODE(JOB, 'MANAGER' , 1000, 'EMPLOYEE' , 500 , 0) FROM DUAL;
沒有留言:
張貼留言