如何根据If条件更改列的值

时间:2015-12-10 06:38:55

标签: sql

我的sql数据库中有一个订单表。假设我想检查订单日期是否小于10/10/2003,那么我想将状态从活动更改为非活动状态。我想知道这是否是正确的语法。这是我的表和我的伪代码,但我不知道如何将其转换为SQL语言

订单表 enter image description here 这是我的伪代码

Update orderTB
IF(OrderDate < '10/10/2003')
  Set Status = 'Inactive 
  WHERE Status = 'ACTIVE'

预期结果 enter image description here

2 个答案:

答案 0 :(得分:1)

将条件添加到WHERE,就像其他条件一样:

Update orderTB
  Set Status = 'Inactive'
  WHERE Status = 'ACTIVE'
    AND OrderDate < '10/10/2003'

答案 1 :(得分:1)

这是一个安静的前进UPDATE声明:

Update "orderTB" 
SET "Status" = 'Inactive' 
WHERE "OrderDate" < '10/10/2003' AND "Status" = 'ACTIVE';

但你应该保持日期格式。在这种情况下,它将没有太大的区别,但10/03/2003可能会有很大的不同。我建议仅使用ISO格式 - 但这不是您的问题的主题。