转换函数

--******************************转换函数
--格式化当前日期时间

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;
原文地址:https://www.cnblogs.com/Soprano/p/10658975.html