生きとし生けるものは、絶えず「判断」をしています。
今日はあの娘とデートだぜ!やったー!
でも、サイフの中身は寂しいなぁ。どうしようかなぁ。
よし!あの娘におねだりだ!!
そんな時もあっていいでしょう。
それはさておき、
プログラムでは条件分岐が欠かせません。if文ですね。お世話になっております。
こんな感じです。
条件がこうだったら、これをやりまーす。
そうじゃなくて、あーだったら、あれをやりまーす。
プログラムで書くとこんな感じ.....
if 条件 = こう then
これ
else
あれ
endif
select文を投げて、返ってきたデータをみてプログラム中で判断してもいいのですが
簡単な判断ならselect文でやってしまいましょう。
こんな感じ
select decode(K.性別,'0','男','女) from 社員マスタ K
列「性別」が0なら、「男」、それ以外なら「女」を返します。
decodeは最大256のリストを評価出来ます。
select decode(順番,1,'1等賞!',2,'2等賞!',3,'3等賞!','どんぐりの背比べ') from 徒競走;
decode関数で条件となる列を条件式で表すのは限界があるんで
ぼくは簡単な判断以外ではdecodeを使ってません。
ボクはあんまり書き慣れていないのだけど、caseが好きさ。
なんか簡単っぽいよ。
こんな感じです
case 列名
when 列の値 then 返す値
when 列の値 then 返す値
・・・・
else デフォルト
end
case式も when -- then -- は128組が上限。
select case 順番
when 1 then '1等賞'
when 2 then '2等賞'
when 3 then '3等賞'
else 'どんぐりの背比べ'
end
from
徒競走;
等価比較だけではなく、大小比較もOK 。
select case
when 順番 < 11 then '入賞'
when 順番 between 11 and 20 then 'がんばりました'
else 'どんぐりの背比べ'
end
from
徒競走;
思い出したかい?ボーイ? それとも知らなかったかい?