CREATE TABLE DateRange
([Date] DATETIME, IsFutureOrPast BIT)
DECLARE @Date AS DATETIME
SET @DATE ='2014-01-01 00:00:00.000'
WHILE @DATE <='2014-12-31 00:00:00.000'
BEGIN
INSERT INTO DateRange ([DATE])
VALUES (@DATE)
SET @Date = @Date + 1
END
--Case Statement to check values and enter flag
DECLARE @CurrentDate AS DATETIME = GETDATE()
UPDATE
DateRange
SET [DATE] =
CASE
WHEN @CurrentDate <= [DATE] THEN 0
ELSE 1
END AS IsPastOrFuture
FROM DateRange
WHERE [Date] IN ( 0, 1)
答案 0 :(得分:2)
AS IsPastOrFuture
对此查询没有意义。只需删除它。
但是,此时您尝试将1
或0
分配给名为[Date]
的列,这没有多大意义。您是否尝试在表中添加新列?如果是这样,您需要首先在表上运行ALTER
语句以添加列。