0

私は次のフィールドを持つ学生テーブルを持っています:

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
4

3 に答える 3

1

これを試して:

UPDATE Student
SET gender = CASE gender WHEN 'm' THEN 'f'
                         WHEN 'f' THEN 'm'
             END
于 2013-02-18T19:30:18.950 に答える
0

一方の方法は CASE ステートメントです

UPDATE Student
set gender =case gender when'm' then 'f'
when 'f' then 'm' end
于 2013-02-18T19:31:55.227 に答える
0

短いバージョンは次のようになります。

UPDATE Student
    SET gender = CASE gender WHEN 'm' THEN 'f' ELSE 'm' END
于 2013-02-18T20:30:43.687 に答える