- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle 日期函数网上已经有了不少,特我们跟集中一下,免得大家麻烦。
在 oracle 数据库的开发中,常因为时间的问题大费周章,所以特地将ORACLE 数据的日期函数收藏致此。乃供他日所查也。
1、add_months(d,n) 日期d 加 n 个月
SQL SELECT SYSDATE AS This_Day,add_months(SYSDATE,1) AS Next_Day FROM dual; THIS_DAY NEXT_DAY
08-9 月 -10 08-10 月-10
2、last_day(d) 包含d 的月份的最后一天的日期
SQL select last_day(sysdate) as last_day from dual; LAST_DAY
30-9 月 -10
3、new_time(d,a,b) 时区的日期和时间d 在 b 时区的日期和时间
SQL select to_char(sysdate,YYYY-MM-DD HH24:MI:SS) as china, to_char(new_time(sysdate,est,GMT),YYYY-MM-DD HH24:MI:SS) as GMT
from dual;
CHINA GMT
2010-09-08 09:51:50 2010-09-08 14:51:50
4、next_day(d,day) 比日期d 晚,由day 指定的周几的日期
SQL select sysdate as this_day, next_day(sysdate,7) as next_sat from dual; THIS_DAY NEXT_SAT
08-9 月 -10 11-9 月 -10
5、sysdate 当前的系统日期和时间
6、greatest(d1,d2,...dn) 给出的日期列表中最后的日期
SQL select sysdate as this_day,greatest(sysdate,sysdate+1,sysdate+2) as max_day from dual;
THIS_DAY MAX_DAY
08-9 月 -10 10-9 月 -10
7、least(d1,k2,...dn) 给出的日期列表中最早的日期
SQL select sysdate as this_day,least(sysdate,sysdate+1,sysdate-1) as min_day from dual;
THIS_DAY MIN_DAY
08-9 月 -10 07-9 月 -10
8、to_char(d [,fmt]) 日期d 按 fmt 指定的格式转变成字符串
SQL select to_char(sysdate,YYYY-MM-DD HH24:MI:SS) as today from dual; TODAY
2010-09-08 10:37:08
9、to_date(st [,fmt]) 字符串 st 按 fmt 指定的格式转成日期值,若fmt 忽略,st 要用缺省格式
SQL select to_date(2010-09-08 10:37:08,YYYY-MM-DD HH24:MI:SS) as today
from dual;
TODAY
08-9 月 -10
10、round(d [,fmt]) 日期d 按 fmt 指定格式舍入到最近的日期
SQL select to_char(sysdate,YYYY-MM-DD HH24:MI:SS) as this
,round(sysdate) as round_day
,to_char(sysdate+1/6,YYYY-MM-DD HH24:MI:SS) as next_4hour
,round(sysdate+1/6) as round_day from dual;
THIS ROUND_DAY NEXT_4HOUR ROUND_DAY
2010-09-08 10:52:45 08-9 月 -10 2010-09-08 14:52:45 09-9 月 -10
11、trunc(d [,fmt]) 日期d 按 fmt 指定格式截断到最近的日期
SQL select to_char(sysdate,YYYY-MM-DD HH24:MI:SS) as this
,trunc(sysdate) as trunc_day
,to_char(sysdate+1/6,YYYY-MM-DD HH24:MI:SS) as next_4hour
,trunc(sysdate+1/6) as trunc_day from dual;
THIS TRUNC_DAY NEXT_4HOUR TRUNC_DAY
2010-09-08 10:56:18 08-9
文档评论(0)