我想要一个像这样的UPDATE
语句:
SELECT *
FROM Employee
WHERE age = CASE
WHEN (age < 20) THEN age=15
WHEN (age > 20) THEN age= 20
在 SQL Server / MySQL 中是否不可能实现此功能?我不想使用存储过程或其他东西。
请给我提供一个合适的解决方法。
我想要一个像这样的UPDATE
语句:
SELECT *
FROM Employee
WHERE age = CASE
WHEN (age < 20) THEN age=15
WHEN (age > 20) THEN age= 20
在 SQL Server / MySQL 中是否不可能实现此功能?我不想使用存储过程或其他东西。
请给我提供一个合适的解决方法。
我认为你想要的是:
UPDATE EMPLOYEE
SET age =
CASE WHEN AGE < 20 THEN 15
ELSE 20 END
您可以在更新语句中使用如下的case语句...
UPDATE Employee
SET Age = CASE WHEN (age < 20) THEN 15
ELSE 20 END
UPDATE testingtable SET dob = CASE WHEN DATEDIFF(CURRENT_TIMESTAMP,ADDDATE(dob, INTERVAL -2 day)) > 1 THEN ADDDATE(dob,INTERVAL -2 DAY) ELSE CURRENT_TIMESTAMP END WHERE username='bob';
。感谢您的回复。 - SaravananELSE 20 END
将变成ELSE age END
。 - sonyisda1