sql - CASE表达式语法错误SQL

标签 sql sql-server sql-server-2005 syntax

我到处研究过,但似乎仍然无法修复一个简单的错误: 运行 Microsoft SQL 服务器:

UPDATE copyprogmaster
       SET active =
                 CASE
                   WHEN active = 1 THEN active = 0
                   WHEN active = 0 THEN active = 1
                  ELSE active
                 END
WHERE source = 'Mass_Mail'

我的错误是:

Line 4: Incorrect syntax near '='.

最佳答案

删除THEN后面的=,因此:

  UPDATE copyprogmaster
       SET active =
                 CASE
                   WHEN active = 1 THEN 0
                   WHEN active = 0 THEN 1
                  ELSE active
                 END
  WHERE source = 'Mass_Mail'

第二行的 SET 后面已经有 active =

关于sql - CASE表达式语法错误SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155625/

相关文章:

sql - 如何从一个表的行获取值到另一个表的列

MySQL 为 GROUP BY 中的每一行获取 COUNT 的 MAX 值

sql - 如何将另一列的多个值的 tableID 从 XML 读取(分配)到 SQL Server 表中?

c# - Linq to Entities over SQL Server 2005 上的 EF 4

MySql变量在 "where"子句问题

SQL允许相同的列名

c# - 无法从 SQL Server 发送电子邮件

sql - LEFT OUTER JOIN 如何返回比左表中存在的记录更多的记录?

sql - 如何替换sql server中表中特定列中的文本

MySQL 在 select * 中找不到 View