范例:格式化日期时间
SELECT SYSDATE 当前系统时间, TO_CHAR(SYSDATE,'YYYY-MM-DD') 格式化日期, TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') 格式化日期时间, TO_CHAR(SYSDATE,'FMYYYY-MM-DD HH24:MI:SS') 去掉前导0的时间 FROM dual;注意:在开发中一定别取消前导0
范例:使用其他方式格式化年、月、日
除了使用标记(是一种习惯,java.text.SimpleDateFormat),也可以使用单词表示
SELECT SYSDATE 当前系统时间, TO_CHAR(SYSDATE,'YEAR-MONTH-DAY') 格式化日期 FROM dual; 或者: SELECT SYSDATE 当前系统时间, TO_CHAR(SYSDATE,'YEAR-MONTH-DY') 格式化日期 FROM dual;范例:查询出所有在每年2月份雇佣的雇员信息
SELECT * FROM emp WHERE TO_CHAR(hiredate,'MM') = 2; 或者: SELECT * FROM emp WHERE TO_CHAR(hiredate,'MM') = '02';范例:将每个雇员的雇佣日期进行格式化显示,要求所有的雇佣日期可以按照“年-月-日”的形式显示,也可将雇佣的年、月、日拆开分别显示
SELECT empno,ename,job,hiredate, TO_CHAR(hiredate,'YYYY-MM-DD') 格式化雇佣日期, TO_CHAR(hiredate,'YYYY') 年, TO_CHAR(hiredate,'MM') 月, TO_CHAR(hiredate,'DD') 日 FROM emp;TO_CHAR() 函数的最为重要的功能是可以将数字格式化,例如:2389042809,如果是有经验的财务人员会按照三位一分:2,389,042,809 ,而要想按照此方法处理数字,就必须格式化。
数字格式化标记
No.转换格式描述1 9 表示一位数字
2 0 表示前导0
3 $ 将货币的符号信息显示为美元符号
4 L 根据语言环境不同,自动选择货币符号
5 . 显示小数点
6 , 显示千位符
范例:格式化数字显示
SELECT TO_CHAR(987654321.789,'999,999,999,999.9999') 格式化数字, TO_CHAR(987654321.789,'000,000,000,000.0000') 格式化数字 FROM dual;