获取当前日期 sysdate:to_char(sysdate,'dd-mm-yyyy day')
001、
日期格式(以时间:2007-11-02 周五 13:45:25 为例)
年:
YY 两位: 07
YYYY 四位:2007
月:
MM: 11
MON: 11(中文版) nov(英文版)
MONTH: 11月(中文版) november
天:
D: ? 周内第几天(范围周日1--------周六7)
DD: 02 当月第几天
DDD: ? 当年第几天
DY: 星期五(中文版) fri(英文版)
DAY: 星期五(中文版) friday(英文版)
时:
HH: 01 12小时制
HH24: 13 24小时制
分:
MI: 45
秒:
SS: 25
季度:
Q: 4 范围(1-----4)
周数:
WW: 44 年度周数
W: 1 月度周数
002、
字符-------时间
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')to_char(sysdate,'yyyy')to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')to_date('2004-05-07','yyyy-mm-dd')to_date('2004-05-07 13:23:44','yyyy-mm-dd') 模式不匹配,错误to_timestamp('2008-11-17 00:31:35', 'YYYY-MM-DD HH24:MI:SS:FF')
003、
trunc()函数的用法
select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18 select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天. select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天 select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日 select trunc(sysdate,'yyyy') from dual --2011-1-1 返回当年第一天 select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天 select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41 select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确 /***************数字********************/ /* TRUNC(number,num_digits) Number 需要截尾取整的数字。 Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。 TRUNC()函数截取时不进行四舍五入 */ select trunc(123.458) from dual --123 select trunc(123.458,0) from dual --123 select trunc(123.458,1) from dual --123.4 select trunc(123.458,-1) from dual --120 select trunc(123.458,-4) from dual --0 select trunc(123.458,4) from dual --123.458 select trunc(123) from dual --123 select trunc(123,1) from dual --123 select trunc(123,-1) from dual --120
004、
计算时间差
注:oracle时间差是以天数为单位,所以换算成年月,日
//时间差-年 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) //时间差-月 select ceil(moths_between(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) //时间差-天 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) //时间差-时 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) //时间差-分 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) //时间差-秒 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60)
相关推荐
关于Oracle日期函数的练习,代码清晰简洁,适于初学者参考!
oracle经常用到的日期函数,很有用的
oracle日期函数全面总结,平时遇到 的很多对日期的处理问题都归档在里面了,希望对大家有所帮助!
oracle日期函数字符函数聚合函数
Oracle日期函数大全 常用日期数据格式
Oracle日期函数大全[文].pdf
Oracle日期函数集锦,常见日期函数的使用,及具体的使用实例
2021-2022收藏的精品资料
Oracle日期函数大礼包初学者必学的知识。时间为null的用法 select id, active_date from table1 UNION select 1, TO_DATE(null) from dual;
ORACLE日期函数01课程.pdf
学习ORACLE日期函数一分析.pdf
涉及Oracle常用日期函数的用法、解析以及相关实例
平常想找些日期函数总是很费劲,这个文档比较全,可以做为工具使用。
ORACLE日期函数01(1)[参考].pdf
oracle自定义日期函数、你值得拥有!
oracle 中的日期函数很多,又很像,使用起来也很方便,就是容易混淆,现在有集锦一资源愿与大家分享。