--******************************轉換函數
--格式化當前日期時間
SELECT SYSDATE, to_char(SYSDATE,'YYYY-MM-DD hh24:mi:ss') 格式化日期, to_char(SYSDATE,'FMYYYY-MM-DD hh24:mi:ss')加FM可以去掉0 FROM dual;
--使用其它的格式化日期
SELECT SYSDATE 當前時間, to_char(SYSDATE,'YEAR-MONTH-DY'), to_char(SYSDATE,'YEAR-MONTH-D'), to_char(SYSDATE,'YEAR-MONTH-W') FROM dual;
--查詢所有在每年2月份入職的員工信息
SELECT * FROM emp e WHERE to_char(e.hiredate,'MM')='02';
--或者直接寫2
SELECT * FROM emp e WHERE to_char(e.hiredate,'MM')=2;
--將每個員工的入職日期,日期顯示,要求年-月-日顯示
SELECT e.empno,e.ename,e.job, to_char(e.hiredate,'YYYY-MM-DD')入職日期, to_char(e.hiredate,'YYYY') 年, to_char(e.hiredate,'MM') 月, to_char(e.hiredate,'DD') 日 FROM emp e;
--寫日期連接
SELECT e.empno,e.ename,e.job, to_char(e.hiredate,'YYYY-MM-DD')入職日期, to_char(e.hiredate,'YYYY')|| '年'|| to_char(e.hiredate,'MM') || '月'|| to_char(e.hiredate,'DD') || '日' 入職日期 FROM emp e;
--使用英文日期格式表示入職日期
SELECT e.empno,e.ename,e.job, to_char(e.hiredate,'year-month-dy') 入職日期 FROM emp e;
--格式化數字顯示
SELECT to_char(987654321.789,'999,999,999,999,999.99999') 格式化數字1, to_char(987654321.789,'000,000,000,000,000.00000') 格式化數字2 FROM dual;
--加上貨幣顯示
SELECT to_char(987654321.789,'L999,999,999,999,999.99') 顯示貨幣, to_char(987654321.789,'$000,000,000,000,000.00') 顯示美元 FROM dual;
--to_date函數
SELECT to_date('1979-09-19','YYYY-MM-DD') FROM dual;
--to timestamp函數
SELECT to_timestamp('1979-09-19 18:07:10','YYYY-MM-DD hh24:mi:ss') 顯示時間, to_timestamp('1979-09-19 18:07:10','FMYYYY-MM-DD hh24:mi:ss') 顯示時間將0去掉 FROM dual;
--to number函數,基本沒用
SELECT to_number('09')+ to_number('19') 加法, to_number('09')- to_number('19') 減法 FROM dual;