Select Lastname, Firstnme, Sex,
Case When Sex = F Then ‘female’ Else ‘male’ End
Birthdate From Employee Order by Lastname
これは私のコードですが、caseステートメントはこのようには機能しません。
ありがとう
Select Lastname, Firstnme, Sex,
Case When Sex = F Then ‘female’ Else ‘male’ End
Birthdate From Employee Order by Lastname
これは私のコードですが、caseステートメントはこのようには機能しません。
ありがとう
'F'を引用符で囲みます:
Select Lastname, Firstnme, Sex,
Case
When Sex = 'F' Then 'female'
When Sex = 'M' Then 'male'
ELSE 'Unknown'
End as Sex_string, Birthdate
From Employee Order by Lastname
または
Select Lastname, Firstnme, Sex,
Case Sex
When 'F' Then 'female'
When 'M' Then 'male'
ELSE 'Unknown'
End as Sex_string, Birthdate
From Employee Order by Lastname
私はあなたが次のようなものが欲しいと信じています:
select Lastname, Firstnme,
Sex = Case
When Sex = 'F' Then ‘female’
Else ‘male’
End,
Birthdate
From Employee Order by Lastname
ここでの違いは、Sex = Caseを設定してから、caseステートメントの後にコンマを入れて、Birthdateが別のフィールドであることを認識できるようにする必要があることです。
これはSQLサーバー用に作成されたもので、MySqlまたはその他のRDBMSを使用している場合は、マイレージが異なる場合があります。
SELECT firstname, lastname, birthdate, sex,
CASE sex
WHEN 'F' THEN 'Female'
WHEN 'M' THEN 'Male'
ELSE 'Unknown'
END AS gender
FROM EMPLOYEE
ORDER BY lastname;
2番目WHEN
の句を句から除外して、女性以外のものを句に処理CASE
させることもできELSE
ますが、通常、性別には男性、女性、不明の3つの値があります。上記のスクリプトは3番目の変数を説明し、すべてのレコードを男性、女性、または不明として返します。