我是否可以通过检查日期值来执行更新查询,无论输入的日期是否大于数据库中存储的日期。
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
答案 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