我有一个表,其中包含默认值为 null 的列 DateTime 数据类型。
我正在使用以下代码将日期时间更新为正确的日期时间,但它不起作用。
我的代码如下
declare @SomeDate datetime = GETDATE()
update Testing set SomeDate = @SomeDate where SomeDate <> @SomeDate
尝试以下代码
declare @SomeDate datetime = GETDATE()
update Testingset
set SomeDate = @SomeDate
where SomeDate is null
or SomeDate <> @SomeDate
试试这个:
UPDATE Testingset
SET SomeDate = @SomeDate
WHERE SomeDate IS NULL
OR SomeDate != @SomeDate
我猜你的代码没有做你想要的。 你的代码应该是:
declare @SomeDate datetime = GETDATE();
update Testingset
set SomeDate = @SomeDate
where SomeDate is null;
没有明显的理由使用变量。 你不妨做:
update Testingset
set SomeDate = getdate()
where SomeDate is null;
编辑:
根据您的评论,您似乎想要:
declare @SomeDate datetime = GETDATE();
update Testingset
set SomeDate = @SomeDate
where SomeDate is null or SomeDate <> @SomeDate;
我相信
以下内容将完成您要做的事情:
UPDATE Testing
SET SomeDate = getdate()
WHERE SomeDate IS NULL
OR SomeDate <> getdate();
您可能最好使用 ANSI 标准CURRENT_TIMESTAMP
而不是getdate()
:
UPDATE Testing
SET SomeDate = CURRENT_TIMESTAMP
WHERE SomeDate IS NULL
OR SomeDate <> CURRENT_TIMESTAMP;