【问题标题】:Loop for updating rows with a condition循环使用条件更新行
【发布时间】:2012-12-06 11:38:29
【问题描述】:

我在一个表中有 2 位列 activesuspended 活动列已包含值,但 suspended 列仍为空

如何使用与 active 相反的值填充 suspended 字段?

我被困在这段代码中..

 Declare @suspended bit;

 --some conditions

 Update Users_mock
 Set Suspended = @Suspended;

【问题讨论】:

标签: sql loops


【解决方案1】:

一个简单的case 语句应该可以工作:

Update userM
Set suspend = case active when 0 then 1 else 0 end

【讨论】:

    【解决方案2】:

    您可以查看Update sql bit field in database

    它说,**SQL Server 中的位总是在位图中存储为 1 或 0。 **

    您可以使用whereif-elsecase 来更新该列。

    【讨论】:

      【解决方案3】:

      选择 abs(CONVERT(int,@suspended)-1)

      【讨论】:

        【解决方案4】:

        试试这个:

        update Users_mock
        set Suspended = case when active=1 THEN 0
        else 1
        end
        

        【讨论】:

          【解决方案5】:

          请尝试:

          Update Users_mock
          Set Suspended = 1-Active;
          

          【讨论】:

            猜你喜欢
            • 2011-07-28
            • 1970-01-01
            • 2018-06-18
            • 1970-01-01
            • 1970-01-01
            • 2023-03-04
            • 2019-06-02
            • 2014-12-07
            • 1970-01-01
            相关资源
            最近更新 更多