日期函数的使用

常用的日期型函数包括:

MONTHS

BETWEEN

ADD_MONTHS

NEXT_DAY 

LAST_DAY

MONTHS BETWEEN(日期1,日期2):

该函数是返回日期1和日期2之间的月数。如果日期1大于日期2,其返回的月数为正。如果日期1小于日期2,其返回的月数为负。可以通过例4-33的查询语句来验证这一单行日期型函数。

例4-33

SQL> SELECT MONTHS_BETWEEN('01-JUL-99','03-FEB-98')

2 FROM dual;

例4-33结果

MONTHS_BETWEEN('01-JUL-99','03-FEB-98')

16.9354839

例4-33显示的结果表示:1999年7月1日和1998年2月3日之间相差16.9354839个月。

ADD_MONTHS(日期,n):

该函数是把n个月加到日期上。

可以通过例4-34的查询语句验证这一单行日期型函数。

例4-34

SQL> SELECT ADD_MONTHS('15-OCT-01',8)

2 FROM dual;

例4-34结果

ADD_MONTH

15-JUN-02

例4-34显示的结果表示:2001年10月15日再过8个月为2002年6月15日。

NEXT DAY(日期,字符串):

该函数是返回下一个由字符串(星期几)指定的日期,可以通过例4-35的查询语句来验证这一单行日期型函数。

例4-35

SQL> SELECT NEXT DAY('10-MAY-02','MONDAY')

2 FROM dual;

例4-35结果NEXT_DAY(

13-MAY-02

例4-35显示的结果表示:从2002年5月10日开始的下一个星期一是2002年5月13日。

LAST DAY(日期):

■ 该函数是返回该日期所在月的最后一天。

可以通过例4-36的查询语句来验证这一单行日期型函数。

例4-36

SQL> SELECT LAST_DAY('08-FEB-02')

2 FROM dual;

例4-36结果

LAST_DAY(

28-FEB-02

例4-37我们给出一个综合的例子。例4-37

SQL> SELECT ename,hiredate,LAST_DAY(hiredate),NEXT_DAY(hiredate,'SUNDAY'),

2        MONTHS BETWEEN(SYSDATE,hiredate) "Months",

3        ADD_MONTHS(hiredate,3)"Review"

4 FROM emp;

例4-37结果

ENAME   HIREDATE LAST_DAY( NEXT_DAY(Months Review

SMITH  17-DEC-80 31-DEC-80 21-DEC-80 256.656332 17-MAR-81

如果您的操作系统和数据库都是中文系统的话,应该将例4-37中第一行的末尾处的SUNDAY改为星期日,其SQL语句如例4-38。

例4-38

SQL> SELECT ename,hiredate,LAST_DAY(hiredate),NEXT_DAY(hiredate,'星期日'),

2        MONTHS BETWEEN(SYSDATE,hiredate) "Months",

3        ADD_MONTHS(hiredate,3)"Review"

4        FROM emp;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值