回答

收藏

大量列中使用NULL更换空单元格的值

技术问答 技术问答 261 人阅读 | 0 人回复 | 2023-09-14

我有很多列SQL表。由于某些原因,有些列有空单元格,而不是NULL单元格。我想让所有列中的空单元格都是NULL。, r" Q* u3 _7 _. n
我知道单列的方式是:8 T* n- ?- T- Z  s
    UPDATE your_table SET column = NULL WHERE column = ''然而,我不确定如何有效地执行所有列的类似逻辑,而不是一个接一个地编写列名。' d# D8 C. X" r) J) Q/ t! G
谢谢,- k" m0 D; P7 s1 o4 a9 p
                                                               
+ n/ N0 L, B0 z# E4 T    解决方案:                                                               
: x2 H: q( I8 i$ \) w2 Q0 R                                                                以下操作查询:, P8 P4 y' N8 H$ Q* N9 G
SELECT 'UPDATE yourtable SET '   name   ' = NULL WHERE '   name   ' = '''';'FROM syscolumnsWHERE id = object_id('yourtable')  AND isnullable = 1;查询的输出如下所示SQL脚本块:7 e/ z: s+ C+ d2 m! R  m) a
UPDATE yourtable SET column1 = NULL WHERE column1 = '';UPDATE yourtable SET column2 = NULL WHERE column2 = '';UPDATE yourtable SET column3 = NULL WHERE column3 = '';-- etc...复制该SQL将脚本粘贴到新查询中,然后操作它更新所有列。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则