我想將 33 歲的班級列更新為 2,將 34-35 歲的班級列更新為 3,將 36 歲的班級列更新為 4。我正在使用 Microsoft SQL Server。
ID DATE_OF_BIRTH CLASS
1 10.10.1986 1
2 11.02.1987 2
2 18.04.1988 3
.....................
.....................
.....................
uj5u.com熱心網友回復:
UPDATE YourTableName
SET CLASS = CASE WHEN DATEDIFF(year, DATE_OF_BIRTH, GETDATE()) = 33 THEN 2
WHEN DATEDIFF(year, DATE_OF_BIRTH , GETDATE()) BETWEEN 34 AND 35 THEN 3
WHEN DATEDIFF(year, DATE_OF_BIRTH , GETDATE()) = 36 THEN 4
ELSE CLASS
END
uj5u.com熱心網友回復:
您可以使用case計算人員年齡的運算式更新該表:
UPDATE mytable
SET class = CASE DATEDIFF(YEAR, date_of_birth, GETDATE())
WHEN 33 THEN 2
WHEN 34 THEN 3
WHEN 35 THEN 3
WHEN 36 THEN 4
ELSE class -- safeguard
END
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/391752.html
標籤:sql sql-server sql更新
上一篇:OracleSum小計查詢
下一篇:按多值SQL過濾資料
