BEGIN TRAN
   
   SELECT 1 A, 0 B INTO #tem UNION ALL
   SELECT 1, 1 UNION ALL
   SELECT 0, 1 UNION ALL
   SELECT 1, 0 UNION ALL
   SELECT 0, 0

   --查看演示的数据
   SELECT * FROM #tem

   --把A, B列各自取反,注意如果不是bit类型,会纠结..
   UPDATE #tem SET
      A = ~CAST(A AS bit) ,
      B = ~CAST(B AS bit) 

   --查看更新后的效果
   SELECT * FROM #tem

   --把A, B列各自取反,CASE版
   UPDATE #tem SET
      A = CASE A 
            WHEN 1 THEN 0
            WHEN 0 THEN 1
            ELSE 0
          END,
      B = CASE B
            WHEN 1 THEN 0
            WHEN 0 THEN 1
            ELSE 0
          END

   --查看更新后的效果
   SELECT * FROM #tem

ROLLBACK

Transact-SQL 示例 - 一个UPDATE实现多个数据列的条件更新
至此你不需要写2个UPDATE去实现这个操作了.

相关文章:

  • 2021-08-24
  • 2022-12-23
  • 2021-07-11
  • 2021-09-22
  • 2021-12-27
  • 2022-01-23
  • 2022-01-19
  • 2021-12-24
猜你喜欢
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-27
相关资源
相似解决方案