我有我使用更新的性别栏,如果将其设置在马累,然后为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')的行,获得相同的结果。 –