【返回】:数字
如果d1>d2,则返回正数
如果d1
SQL>
select sysdate ,
months_between(sysdate ,to_date('2016-12-25','YYYY-MM-DD')),
months_between(sysdate ,to_date('2015-05-25','YYYY-MM-DD')) from dual ;
SYSDATE
MONTHS_BETWEEN(SYSDATE,TO_DATE MONTHS_BETWEEN(SYSDATE,TO_DATE
----------- ------------------------------ ------------------------------
2016-5-25 0
-7
12
返回时区的对应时间 new_time()
NEW_TIME(dt1,c1,c2)
【功能】:给出时间dt1在c1时区对应c2时区的日期和时间
【参数】:dt1,d2 日期型
【返回】:日期时间
【参数】:c1,c2对应的 时区及其简写
大西洋标准时间:AST或ADT
阿拉斯加_夏威夷时间:HST或HDT
英国夏令时:BST或BDT
美国山区时间:MST或MDT
美国中央时区:CST或CDT
新大陆标准时间:NST
美国东部时间:EST或EDT
太平洋标准时间:PST或PDT
格林威治标准时间:GMT
Yukou标准时间:YST或YDT
SQL>
select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,
2
to_char(new_time(sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;
BJ_TIME
LOS_ANGLES
------------------- -------------------
2016
.05.25 00
:48:56 2016.05.25 07:48:56
SQL>
select sysdate bj_time,
2 new_time(sysdate,
'PDT',
'GMT') los_angles
from dual;
BJ_TIME
LOS_ANGLES
----------- -----------
2016-
5-
25 0 2016-
5-
25 0
四舍五入后的日期第一天 round()
round(d1[,c1])
【功能】:给出日期d1按期间(参数c1)四舍五入后的期间的第一天日期(与数值四舍五入意思相近)
【参数】:d1日期型,c1为字符型(参数),c1默认为j(即最近0点日期)
【参数表】:c1对应的参数表:
最近0点日期: 取消参数c1或j
最近的星期日:day或dy或d
最近月初日期:month或mon或mm或rm
最近季日期:q
最近年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度)
最近世纪初日期:cc或scc
SQL> select sysdate 当时日期,
2 round(sysdate) 最近
0点日期,
3 round(sysdate,'
day') 最近星期日,
4 round(sysdate,'
month') 最近月初,
5 round(sysdate,'q') 最近季初日期,
6 round(sysdate,'
year') 最近年初日期
from dual;
当时日期 最近
0点日期 最近星期日 最近月初 最近季初日期 最近年初日期
----------- ----------- ----------- ----------- ------------ ------------
2016-
5-
25 0 2016-
5-
25 2016-
5-
22 2016-
6-
1 2016-
7-
1
2016-
1-
1
返回日期所在期间的第一天 trunc()
trunc(d1[,c1])
【功能】:返回日期d1所在期间(参数c1)的第一天日期
【参数】:d1日期型,c1为字符型(参数),c1默认为j(即当前日期)
【参数表】:c1对应的参数表:
最近0点日期: 取消参数c1或j
最近的星期日:day或dy或d (每周顺序:日,一,二,三,四,五,六)
最近月初日期:month或mon或mm或rm
最近季日期:q
最近年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度)
最近世纪初日期:cc或scc
SQL>
select sysdate 当时日期,
2 trunc(sysdate) 今天日期,
3 trunc(sysdate,
'day') 本周星期日,
4 trunc(sysdate,
'month') 本月初,
5 trunc(sysdate,
'q') 本季初日期,
6 trunc(sysdate,
'year') 本年初日期 from dual;
当时日期 今天日期 本周星期日 本月初
本季初日期 本年初日期
----------- ----------- ----------- ----------- ----------- -----------
2016-
5-
25 0 2016-
5-
25 2016-
5-
22 2016-
5-
1 2016-
4-
1 2016-
1-
1
返回下周某一天的日期 next_day()