您的位置:首页 > 数据库 > Oracle

SQL 10 函数 3 日期时间函数 - 4 日期增减(Oracle)

2011-03-01 18:08 375 查看
Oracle中可以直接使用加号“+”来进行日期的加法运算,其运算单位为“天”,比如date+3就表示在日期date的基础上增加3天;同理使用减号“-”则可以用来计算日期前的特定时间段的时间,比如date-3就宝石在日期date的3天前的日期。比如下面的SQL语句用于计算每个人出生日期3天后及10天前的日期:

SELECT FBirthday, FBirthday+3, FBirthday-10 FROM T_Person

可以使用换算的方式来进行以周、小时、钟等为单位的日期加减运算,比如下面的SQL语句用于计算每个人出生日期2小时10分钟后及3周后的日期:

SELECT FBirthday, FBirthday+(2/24+10/60/24), FBirthday+(3*7) FROM T_Person

使用加减运算可以很容地实现以周、天、小时、秒等单位的日期增减运算。不过由于每个月的天数不同,也就是在天和月之间不存在固定的换算率,所以无法使用加减运算实现以月我饿idanwei的计算,为此Oracle中提供了ADD_MONTHS()函数用于以月为单位的日期增减运算,为此Oracle中提供了ADD_MONTHS()函数用于月为单位的日期增减运算。格式如下:

ADD_MONTHS(date, number)



其中参数date为待计算的日期,参数number为要增加的月份数,如果number为负数则表示进行日期的减运算。下面的SQL语句用于计算每个人的出生日期两个月后及10个月前的日期:

SELECT FBirthday, ADD_MONTHS(FBirthday, 2), ADD_MONTHS(FBirthday, -10) FROM T_Person


综合使用ADD_MONTHS()函数和加、减运算则可以实现更加复杂的日期增减运算,比如下卖弄的SQL语句用于计算每个人的出生日期两个月零10天后级3个月零10小时的日期时间:

SELECT FBirthday, ADD_MONTHS(FBirthday, 2)+10 as bfd, ADD_MONTHS(FBirthday, -3)-(10/24) as afd FROM T_Person
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: