Eon*_*Eon 17 sql t-sql sql-server
我一直在努力选择我的桌子的行,这些行的日期是今天之前的3个月.我尝试DATE(NOW() - INTERVAL 3 MONTH)在我的where子句中使用,但没有运气.如果项目超过3个月,我如何签入SQL Server?
  UPDATE[TCTdb].[dbo].[Stock]
     SET[Warehouse] = 'old'
   WHERE [ManufacturedDate] <= DATE(NOW() - INTERVAL 3 MONTH)
Run Code Online (Sandbox Code Playgroud)
    Cod*_*ian 42
你的语法似乎是错误的.
那应该是
UPDATE[TCTdb].[dbo].[Stock]
    SET[Warehouse] = 'old'
WHERE [ManufacturedDate] <= DATEADD(mm, -3, GETDATE())
Run Code Online (Sandbox Code Playgroud)
        使用dateadd().
update [TCTdb].[dbo].[Stock]
set [WareHouse] = 'old'
where [ManufacturedDate] < dateadd(month,-3,getdate())
Run Code Online (Sandbox Code Playgroud)
我建议dateadd()过datediff(),因为我觉得你会得到意想不到的使用效果datediff()与month日期部分.
考虑以下语句都返回3:
select datediff(month, '1/1/2011','4/1/2011')
select datediff(month, '1/1/2011','4/30/2011')
Run Code Online (Sandbox Code Playgroud)
要么在这种特殊情况下工作......请记住这种行为.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           40671 次  |  
        
|   最近记录:  |