我有很多列SQL表。由于某些原因,有些列有空单元格,而不是NULL单元格。我想让所有列中的空单元格都是NULL。 6 n6 A) r4 I L* a8 J2 h; |6 ?7 H我知道单列的方式是:* V0 B8 N8 z2 x' W3 m c( \+ f
UPDATE your_table SET column = NULL WHERE column = ''然而,我不确定如何有效地执行所有列的类似逻辑,而不是一个接一个地编写列名。2 w3 @! L/ S: @9 @/ Z# t
谢谢,2 u& [- e8 [" J# z
, k4 W! P. d5 E: y/ ]解决方案: # L, X5 ~; G y H 以下操作查询:2 R: k$ U) G8 c: e* [
SELECT 'UPDATE yourtable SET ' name ' = NULL WHERE ' name ' = '''';'FROM syscolumnsWHERE id = object_id('yourtable') AND isnullable = 1;查询的输出如下所示SQL脚本块:. K# d8 c) P5 W. \
UPDATE yourtable SET column1 = NULL WHERE column1 = '';UPDATE yourtable SET column2 = NULL WHERE column2 = '';UPDATE yourtable SET column3 = NULL WHERE column3 = '';-- etc...复制该SQL将脚本粘贴到新查询中,然后操作它更新所有列。