日期相减问题!sql server 只有dateadd,没有dateminus,不太方便

时间:2022-05-01 00:41:10
求一个相减之后的日期,有2005-09-02 08:30:00,如何减去一个日期间隔得到我想要的日期呢?例如减去60分钟,得到2005-09-02 07:30:00,或减去1小时,也等于2005-09-02 07:30:00,有没有什么函数可以实现呢?
sql server 只有dateadd,没有dateminus,不太方便

6 个解决方案

#1


dateadd不可以实现吗?

#2


前面加个-就可以了

#3


--是一样的啊!
dateadd(day,-10,getdate())

#4


select dateadd(mi,-60,'2005-09-02 08:30:00'),dateadd(hh,-1,'2005-09-02 08:30:00')

#5


很简单啊,减仍然是用dateadd不过是在操作单位前边加个减号"-"

减1年:dateadd(yy,-1,'2005-09-02 08:30:00')
减1月:dateadd(mm,-1,'2005-09-02 08:30:00')
减1天:dateadd(dd,-1,'2005-09-02 08:30:00')
减1小时:dateadd(hh,-1,'2005-09-02 08:30:00')
减1分钟:dateadd(mi,-1,'2005-09-02 08:30:00')

#6


那两个日期相减呢?怎么做啊?


就是得到两个日期之间的有多少年?

#1


dateadd不可以实现吗?

#2


前面加个-就可以了

#3


--是一样的啊!
dateadd(day,-10,getdate())

#4


select dateadd(mi,-60,'2005-09-02 08:30:00'),dateadd(hh,-1,'2005-09-02 08:30:00')

#5


很简单啊,减仍然是用dateadd不过是在操作单位前边加个减号"-"

减1年:dateadd(yy,-1,'2005-09-02 08:30:00')
减1月:dateadd(mm,-1,'2005-09-02 08:30:00')
减1天:dateadd(dd,-1,'2005-09-02 08:30:00')
减1小时:dateadd(hh,-1,'2005-09-02 08:30:00')
减1分钟:dateadd(mi,-1,'2005-09-02 08:30:00')

#6


那两个日期相减呢?怎么做啊?


就是得到两个日期之间的有多少年?