在sql中使用条件更新语句

时间:2011-05-23 13:24:10

标签: sql sql-server

我想有一个像这样的更新声明

 SELECT * from Employee
 WHERE age = CASE 
 WHEN (age < 20) THEN age=15
 WHEN (age > 20) THEN age= 20

这在SQL Server / MySQL中是不可能的。我不想使用存储过程或其他东西。

建议我解决此问题的合适方法

2 个答案:

答案 0 :(得分:78)

我认为你想要的是:

UPDATE EMPLOYEE
SET age =
CASE WHEN AGE < 20 THEN 15
ELSE 20 END

答案 1 :(得分:22)

您可以在更新中使用case语句,如下所示......

UPDATE Employee 
SET Age = CASE WHEN (age < 20) THEN 15
              ELSE 20 END