UPDATE TT
SET DEATHDATE = NULL
FROM TEMP_TABLE TT
WHERE LTRIM(RTRIM(DEATHDATE)) = ''
UPDATE TT
SET CURRENTDATE= NULL
FROM TEMP_TABLE TT
WHERE LTRIM(RTRIM(CURRENTDATE)) = ''
UPDATE TT
SET BIRTHDATE = NULL
FROM TEMP_TABLE TT
WHERE LTRIM(RTRIM(BIRTHDATE)) = ''
或
UPDATE TT
SET BIRTHDATE = NULL
FROM TEMP_TABLE TT
WHERE DATALENGTH(BIRTHDATE) = 0
如果指定的列记录为EMPTY,则此更新语句将更新为NULL。
但是我不喜欢这样做。我想更改表中的所有记录。如果该表中有EMPTY条记录,我想将它们更改为NULL。
这可能吗?先谢谢你
1条答案
按热度按时间bvuwiixz1#
您可以将所有这些合并到单个更新中,使用
CASE
来决定是否覆盖该值。你也可以将表达式缩短为
CASE WHEN TRIM(DEATHDATE) <> '' THEN DEATHDATE END
等,但我认为上面的表达式更清楚。为什么要在文本列中存储日期是另一个问题。我只能说:别说了。