更新日期记录并获取:操作数类型冲突:日期与int不兼容

时间:2017-10-17 16:47:21

标签: sql-server date

我只是想在我的数据库中更新日期和时间记录。但它一直给我一个错误:

  

操作数类型冲突:日期与int

不兼容

我所做的只是:

DECLARE @todayDate DATE =  GETDATE();
UPDATE Table SET UpdateDate =  @todayDate; -- UpdateDate is DATE

我尝试了很多我在网上看到的东西。

UPDATE Table SET UpdateDate =  CONVERT(VARCHAR(50), @todayDate); -- doesn't work.

我没有使用dateadd,只想在日期字段中插入日期。

甚至过度杀伤力:

DECLARE @todayDate VARCHAR(50)=  CONVERT(VARCHAR(50),GETDATE());
UPDATE Table SET UpdateDate =  CONVERT(VARCHAR(50),todayDate )

不起作用。它仍然会返回:

  

操作数类型冲突:日期与int

不兼容

1 个答案:

答案 0 :(得分:0)

DECLARE @Table TABLE ( UpdateDate INT );
INSERT INTO @Table VALUES (1);

DECLARE @todayDate DATE =  GETDATE();
UPDATE @Table SET UpdateDate =  CONVERT (INT, CONVERT (VARCHAR(10) , @todayDate, 112));
OUTPUT Deleted.*, Inserted.*;

PS:顺便说一句,你应该将updateDate-Field更改为正确的Type DATE ...