我有很多列SQL表。由于某些原因,有些列有空单元格,而不是NULL单元格。我想让所有列中的空单元格都是NULL。9 y: U( B; k# C9 l3 `9 U* ^
我知道单列的方式是:' k, ~- U2 w* ]# Z) U
UPDATE your_table SET column = NULL WHERE column = ''然而,我不确定如何有效地执行所有列的类似逻辑,而不是一个接一个地编写列名。2 \% M) p' d. a) o4 Z
谢谢,2 m ?$ l2 t1 [. ^. X
~2 h3 F1 z5 }) ?- ]2 h 解决方案: 9 O% h5 ]+ G/ ^- m/ k3 g 以下操作查询: # g- N0 ]+ ?6 D5 j& E* lSELECT 'UPDATE yourtable SET ' name ' = NULL WHERE ' name ' = '''';'FROM syscolumnsWHERE id = object_id('yourtable') AND isnullable = 1;查询的输出如下所示SQL脚本块:! N, z% t- {% \+ L- h8 ]
UPDATE yourtable SET column1 = NULL WHERE column1 = '';UPDATE yourtable SET column2 = NULL WHERE column2 = '';UPDATE yourtable SET column3 = NULL WHERE column3 = '';-- etc...复制该SQL将脚本粘贴到新查询中,然后操作它更新所有列。