我创建了一个触发器,用于将数据类型为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