SQL Server-在SQL中使用条件更新语句

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

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

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

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

Saravanan asked 2020-07-31T05:42:50Z
2个解决方案
86 votes

我认为您想要的是:

UPDATE EMPLOYEE
SET age =
CASE WHEN AGE < 20 THEN 15
ELSE 20 END
JNK answered 2020-07-31T05:43:05Z
24 votes

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

UPDATE Employee 
SET Age = CASE WHEN (age < 20) THEN 15
              ELSE 20 END
EBarr answered 2020-07-31T05:43:24Z
translate from https://stackoverflow.com:/questions/6097815/using-a-conditional-update-statement-in-sql