您好我想(当前的日期时间 - 年)。
以下是我的查询..
print getdate()
print (getdate()-(365.25*7))
Result:
Dec 30 2013 10:47AM
Dec 30 2006 4:52PM
正在给出正确的结果。
但是当我尝试
时 print getdate()
print (getdate()-year(7))
Result:
Dec 30 2013 10:52AM
Oct 17 2008 10:52AM
任何人都可以告诉它有什么问题吗?
答案 0 :(得分:4)
而是使用DATEADD并将datepart设置为YEAR
。
返回具有指定数字间隔的指定日期(已签名) 整数)添加到该日期的指定日期部分。
像
这样的东西SELECT GETDATE() Today, DATEADD(YEAR,-7,GETDATE()) Today7YearsAgo
year(7)
部分返回1900
,这是1900-01-08 00:00:00.000
(CAST(7 AS DATETIME)
)的年份部分。然后getdate()-year(7)
等同于getdate()-1900
,这是一天的减法。
答案 1 :(得分:3)
试试这个
print getdate()
print DATEADD(Year, -7, GETDATE())
答案 2 :(得分:0)
尝试MSSQL DATEADD功能
select DATEADD(Year,-7,GETDATE());
答案 3 :(得分:0)
DATE ADD()返回指定的日期,并将指定的数字间隔(有符号整数)添加到该日期的指定日期部分。
print getdate()
print DATEADD(Year, -7, GETDATE())