使用日期转换更新查询会产生问题

时间:2013-02-13 14:10:37

标签: sql-server

我编写了一个查询,尝试使用EVENTID字段中的日期(datetime,null)+ 180天更新MAINTAINANCESCHEDULE字段(datetime,null)。 我刚刚开始使用SQL,并且有点坚持如何解决问题。 我得到的错误是:消息102,级别15,状态1,行1 '<'。

附近的语法不正确

我的查询看起来此刻有人可以帮助我吗?

UPDATE UDStay SET "MAINTAINANCESCHEDULE" = "EVENTARRIVED" < CONVERT (DATETIME(8), DATEADD (DAY, +180, CURRENT_TIMESTAMP), 112) + '0000')
WHERE CONTRACT = 'sde' AND "EVENTDEPARTED" IS NULL AND "EVENTCURRENT" = 'ARRIVED'
GO

1 个答案:

答案 0 :(得分:1)

根据您的问题,您可以使用以下查询。

UPDATE UDStay SET MAINTAINANCESCHEDULE =  DATEADD(day,180,EVENTID)
WHERE CONTRACT = 'sde' AND EVENTDEPARTED IS NULL AND EVENTCURRENT = 'ARRIVED'

GO

我已从您的查询中忽略条件“EVENTARRIVED”&lt;“。正如您在问题中所说,您需要向列EVENTID添加180天,然后此查询才有效。

如果您需要,请告诉我。