我創建了一個觸發器,用於將數據類型爲time()的列的時間值設置爲NULL,當它大於GETDATE()時爲NULL。SQL:觸發器數據類型時間和GETDATE之間的衝突()
自GETDATE()檢索日期和時間以來,我得到一個錯誤,指示列的數據類型time()和GETDATE()之間存在衝突。
我的問題是我如何才能獲得只有GETDATE()的時間部分才能在我的觸發器中使用它?
觸發代碼:
create trigger trig1
on [dbo].[Products]
after insert
as
update Products
set ParkingStartTime = null
from Products
join inserted i
on i.ParkingStartTime = Products.ParkingStartTime
where i.ParkingStartTime >= GETDATE();
問候。
有什麼確切的錯誤信息?如果ParkingStartTime是'TIME'字段,那麼確實存在衝突;你需要'CAST(GETDATE()作爲時間)',並假設客戶停車的日期是今天。 – 2011-04-28 20:10:00
@Jon of Traders錯誤消息是'數據類型時間和日期時間在大於或等於運算符中不兼容。 – HShbib 2011-04-28 20:16:06