SQL How to correctly set a date variable value and use it?

后端 未结 2 1550
伪装坚强ぢ
伪装坚强ぢ 2021-01-17 09:45

I have the following query which uses a date variable, which is generated inside the stored procedure:

DECLARE @sp_Date DATETIME
SET @sp_Date = DateAdd(m, -6,         


        
2条回答
  •  余生分开走
    2021-01-17 09:56

    Your syntax is fine, it will return rows where LastAdDate lies within the last 6 months;

    select cast('01-jan-1970' as datetime) as LastAdDate into #PubAdvTransData 
        union select GETDATE()
        union select NULL
        union select '01-feb-2010'
    
    DECLARE @sp_Date DATETIME = DateAdd(m, -6, GETDATE())
    
    SELECT * FROM #PubAdvTransData pat
         WHERE (pat.LastAdDate > @sp_Date)
    
    >2010-02-01 00:00:00.000
    >2010-04-29 21:12:29.920
    

    Are you sure LastAdDate is of type DATETIME?

提交回复
热议问题