SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。
Q&A
3回答
18049閲覧
総合スコア29
0グッド
0クリップ
投稿2017/09/05 08:46
0
CASE isSex WHEN '1' THEN 'MEN' WHEN '0' THEN 'WOMEN' END yourSex
もしこのようなSQL文があったとすると、解釈としては
isSexカラムに入っている値が1の時はMENというデータをyourSexというカラムに入れ、 isSexカラムに入っている値が0の時はWOMENというデータをyourSexというカラムに入れる。
ということで正しいでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答3件
正しいと思います。 下記の両方ともに同じ結果になります。
sql1SELECT 2CASE isSex 3 WHEN '1' THEN 'MEN' 4 WHEN '0' THEN 'WOMEN' 5 ELSE 'FREE' 6END yourSex 7FROM test; 8 9 10SELECT 11CASE WHEN isSex = '1' then 'MEN' 12 WHEN isSex = '0' then 'WOMEN' 13 ELSE 'FREE' 14END yourSex 15FROM test;
sql
1SELECT 2CASE isSex 3 WHEN '1' THEN 'MEN' 4 WHEN '0' THEN 'WOMEN' 5 ELSE 'FREE' 6END yourSex 7FROM test; 8 9 10SELECT 11CASE WHEN isSex = '1' then 'MEN' 12 WHEN isSex = '0' then 'WOMEN' 13 ELSE 'FREE' 14END yourSex 15FROM test;
投稿2017/09/05 09:47
総合スコア4070
yourSexというカラムに入れる
ではなくて、そのcase文の処理の結果に名前を付けています。
分岐についての解釈は合っています。
蛇足ですが、0,1以外の値があった場合(Nullを含め)その結果はNullになります。 ※そのケースの分岐を処理したい場合は、endの前にelse節を記述します。
投稿2017/09/05 09:12
総合スコア25430
もしisSexカラムの値が1ならMEN、0ならWOMENと表示する その際表示の別名がyourSex
投稿2017/09/05 08:58
総合スコア118147
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
SQL文 CASE WHEN THEN ENDの解釈について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。