使用日期执行更新查询

时间:2016-09-07 21:08:08

标签: sql

我是否可以通过检查日期值来执行更新查询,无论输入的日期是否大于数据库中存储的日期。

IF @input_date > table.date
  UPDATE table SET table.value = 0, table.date = @input_date
ELSE 
  UPDATE table SET table.value = @input_value, table.date = @input_date

2 个答案:

答案 0 :(得分:3)

使用 CASE 声明

试试这个

    UPDATE table 
    SET table.value = CASE WHEN @input_date > table.date THEN 0 ELSE @input_value END,
        table.date = @input_date

答案 1 :(得分:0)

另一种方法是将测试放入update语句的where条件。因此只有在满足条件时才会发生更新

update
    table
set
    table.value = @input_date
where
    table.value < @input_date