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

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值