转换函数(学习笔记)
--******************************转换函数
--格式化当前日期时间
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;