是否有比下面的代码更好的方法用NULL替换列值
select
case when A is not NULL end as columnname
我尝试使用update
函数,但我意识到它仅适用于字符串。
答案 0 :(得分:2)
要在SQL表中将值替换为NULL,查询的基本形式为:
UPDATE MyTable
SET FieldName = NULL
[WHERE FieldName = <ValueToReplace>]
如果您想一次在多个字段中用NULL替换特定值,这会变得更加复杂。可以通过对每个字段使用上述语句一次,或在更新中使用CASE语句来解决此问题。
UPDATE MyTable
SET FieldName1 = CASE WHEN FieldName1 = '' THEN NULL ELSE FieldName1 END,
FieldName2 = CASE WHEN FieldName2 = -1 THEN NULL ELSE FieldName2 END
如果您想使特定行中的任何值都为NULL,则查询将更像这样:
UPDATE MyTable
SET FieldName1 = NULL,
FieldName2 = NULL
WHERE RowID IN (1,6,22,405)