我有一张学生桌,上面有以下字段:
sid sname gender
1 xyz m
2 abc f
3 wxy m
4 jkl f
我希望将性别列中的数据作为男性对女性,女性对应男性。
我尝试使用存储过程:
CREATE PROCEDURE [dbo].[replacesex]
AS
BEGIN
SET NOCOUNT ON;
declare @sex char(10)
select @sex=sex
from dbo.student
if(@sex='f')
update dbo.student
set sex='m'
else
update dbo.student
set sex='f'
END
答案 0 :(得分:1)
试试这个:
UPDATE Student
SET gender = CASE gender WHEN 'm' THEN 'f'
WHEN 'f' THEN 'm'
END
答案 1 :(得分:0)
一种方法是CASE声明
UPDATE Student
set gender =case gender when'm' then 'f'
when 'f' then 'm' end
答案 2 :(得分:0)
较短的版本将是:
UPDATE Student
SET gender = CASE gender WHEN 'm' THEN 'f' ELSE 'm' END