【问题标题】:Replacing all 0s with Nulls in a table用空值替换表中的所有 0
【发布时间】:2021-08-31 09:03:32
【问题描述】:

有没有办法将表的所有列的所有 0 替换为 null ?我知道如何为单列执行此操作,我正在为所有列搜索类似动态查询的内容。

【问题讨论】:

    标签: sql database azure-sql-database sql-function azure-sql


    【解决方案1】:

    这回答了问题的原始版本。

    你可以写一个update查询,但是你需要列出所有的列:

    update t
        set col1 = nullif(col1, 0),
            col2 = nullif(col2, 0),
            . . . ;
    

    您可能需要添加:

    where col1 = 0 or col2 = 0 or . . .
    

    限制处理的行数。

    【讨论】:

    • @ThorstenKettner 。 . .谢谢。
    • 这可以工作,谢谢,但不回答我的问题。我一直在寻找一些动态的方式来执行具有 50 多列的整个表,并且对于多个表也是如此
    • @Shadow 。 . .您的问题至少有一部分是关于如何避免多个updates。
    • 是的,这是正确的,让我更新我的问题
    • @Shadow 。 . .最好问一个新的问题,而不是编辑一个已经回答的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2020-11-19
    • 2010-12-30
    • 1970-01-01
    相关资源
    最近更新 更多