1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') strDateTime from dual; --获取年-月-日 时:分:秒 select to_char(sysdate,'yyyymmdd hh24:mi:ss') strDateTime from dual; --获取年月日 时:分:秒 select to_char(sysdate,'yyyymmdd') strDateTime from dual; --获取年月日 select to_char(sysdate,'yyyy') strYear from dual; --获取年 select to_char(sysdate,'mm') strMonth from dual; --获取月 select to_char(sysdate,'dd') strDay from dual; --获取日 select to_char(sysdate,'hh24') strHour from dual; --获取时 select to_char(sysdate,'mi') strMinute from dual; --获取分 select to_char(sysdate,'ss') strSecond from dual; --获取秒
2. 字符串和时间互转 select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss') dateTime from dual; select to_date('2010-10-20 13:23:44','yyyy/mm/dd hh24:mi:ss') dateTime from dual; 显示结果:2010/10/20 13:23:44 select to_char( to_date(222,'J'),'Jsp') from dual; 显示结果:Two Hundred Twenty-Two
如果按照下面的例子写,会报错:ORA-01849:小时值必须介于1和12之间。(因为其中的hh是12进制,没有13所以报错) select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual;
3. 查询某天是星期几 select to_char(to_date('2012-10-20','yyyy-mm-dd'),'day') strDay from dual;
4. 两个日期间的天数 select floor(sysdate - to_date('20161010','yyyymmdd')) strTime from dual; --其中sysdate=2016/10/20 17:10:51
5. 时间为null的用法 select to_date(null) from dual;
6.月份差 select months_between(date'2014-04-23',date'2013-04-23') days from dual; |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 00:47 , Processed in 0.030722 second(s), 18 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.