【发布时间】:2018-03-29 10:39:59
【问题描述】:
我只是想更新数据库中的日期和时间记录。但它一直给我一个错误:
操作数类型冲突:日期与 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 不兼容
【问题讨论】:
-
您为什么要尝试将 字符串 存储到日期字段中?
-
@Panagiotis - 许多用户建议这样做:stackoverflow.com/questions/7176596/…
-
很多用户不知道如何使用正确类型。这就是为什么在 SO 中有这么多关于转换错误的问题。同样,你为什么使用字符串?
UdpateDate的类型是什么?UPDATE Table SET UpdateDate = @todayDate;怎么了? -
如果
UpdateDate是date你应该没有任何问题。如果它是dateteime,但您想在那里保存date,那么您应该没有问题,因为您已经将GETDATE()存储到date变量中。 -
为您要更新的表发布
CREATE TABLE。看起来UpdateDate是int
标签: sql-server date