SQL Server 2005:如何减去6个月

ska*_*eff 20 sql datetime datediff sql-server-2005 date

我有约会,假设今天约会

declare @d datetime
set @d = '20101014'
Run Code Online (Sandbox Code Playgroud)

我需要

select @d - <six month>
Run Code Online (Sandbox Code Playgroud)

从@d开始,包含过去六个月的实际天数在哪里.

Ale*_*ini 46

你可以使用DATEADD:

select DATEADD(month, -6, @d)
Run Code Online (Sandbox Code Playgroud)

编辑:如果您需要最多6个月前的天数,您可以使用DATEDIFF:

select DATEDIFF(day, @d, DATEADD(month, -6, @d))
Run Code Online (Sandbox Code Playgroud)