【问题标题】:Update status in database更新数据库中的状态
【发布时间】:2021-03-08 05:05:48
【问题描述】:

在我的项目中,我有一项与 SQL 服务器数据库相关的任务。

Employee
======================
id  Name  Active
1   a     0
2   b     0
3   c     1
4   d     1

这是我的表格格式,当管理员单击状态更新按钮时,我想在一个 GO 中更新状态。例如这里,Id 1 和 2 为 0,Id 3 和 4 为 1。因此,当管理员单击按钮时,我想更新字段并进行如下所示的操作。

Employee
======================
id  Name  Active
1   a     1
2   b     1
3   c     0
4   d     0

现在 Id 1 和 2 变为 1,Id 3 和 4 变为 0。请提出建议。如何更新字段。

【问题讨论】:

标签: mysql sql sql-server database


【解决方案1】:

如果您只想切换 Active 列中的 0/1 值,那么您可以使用:

UPDATE Employee
SET Active = 1 - Active;

另一种方式,使用模数:

UPDATE Employee
SET Active = 2 % (Active + 1);

【讨论】:

    【解决方案2】:

    为了清楚起见,使用 CASE 表达式。

    UPDATE Employee
    SET Active = CASE Active WHEN 1 THEN 0 
                             WHEN 0 THEN 1
                             ELSE NULL
                             END 
    

    【讨论】:

      【解决方案3】:

      如果 active = 0 而 not active 则与 0 相反,即 1,反之亦然。希望它有效。

      UPDATE Employee SET Active= NOT Active
      

      【讨论】:

      • 请在您的 SQL 中添加一些解释。
      猜你喜欢
      • 2021-07-17
      • 2010-09-15
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多