回答編集履歴

2

補足追加

2016/08/01 12:42

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -89,3 +89,49 @@
89
89
  でもフルーツとお菓子どっちも取ってこないいけないよという要件があるなら、
90
90
 
91
91
  もう一個それを示すフラグとか区分なりを追加する方が後々すっきりするかなとも思ってます。
92
+
93
+
94
+
95
+ ###補足
96
+
97
+ CASE式について補足。
98
+
99
+ THEN句の後の値のデータ型が一致することが要求されます。
100
+
101
+
102
+
103
+ 以下は文字列の場合
104
+
105
+ ```SQL
106
+
107
+ CASE col1
108
+
109
+ WHEN '1' THEN '文字列1'
110
+
111
+ WHEN '2' THEN '文字列2' -- 一つ目文字なら2つ目も文字で統一
112
+
113
+ ELSE NULL -- ただしNULLはOK
114
+
115
+ END
116
+
117
+ ```
118
+
119
+
120
+
121
+ 以下は数値
122
+
123
+ ```SQL
124
+
125
+ CASE col1
126
+
127
+ WHEN '1' THEN 100
128
+
129
+ WHEN '2' THEN 5 -- 一つ目数値なら2つ目も数値で統一
130
+
131
+ ELSE NULL -- ただしNULLは(ry
132
+
133
+ END
134
+
135
+ ```
136
+
137
+

1

追記

2016/08/01 12:42

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -33,6 +33,8 @@
33
33
  ③が採用できる条件は、
34
34
 
35
35
  - 出力結果としてカラムが増えることが許容できること(個人的には結果を混ぜるよりはカラムは分けてた方がメンテしやすい気はします)
36
+
37
+ 出力の仕方は区分値に該当するなら登録値、なければNULLとか空文字とか…
36
38
 
37
39
 
38
40