我有我使用更新的性別欄,如果將其設置在馬累,然後爲M更新,女性在下面的查詢,更新到F正確使用SQL CASE語句
的語句運行第一次罰款。
UPDATE [People].[People]
SET GENDER = CASE WHEN GENDER = 'Male' THEN 'M'
WHEN GENDER = 'Female' THEN 'F' END WHERE Id=40
我的問題是,如果男女已經是「M」,那麼當語句重新運行,「M」設置爲NULL
我可以做下面的,但似乎有點軟糖
UPDATE [People].[People]
SET GENDER = CASE WHEN GENDER = 'Male' THEN 'M'
WHEN GENDER = 'Female' THEN 'F'
WHEN GENDER = 'M' THEN 'M'
WHEN GENDER = 'F' THEN 'F'
END WHERE Id=40
任何人都可以建議嗎?
謝謝
肯定的。如果您不想編輯所有行,您也可以在更新中添加WHERE子句,以僅觸摸'男'或'女'(或不是'M'或'F')的行,獲得相同的結果。 –