三項演算子とはIF分岐で値を代入する処理を1行にまとめて記述することの出来る記法です。
他の言語のように記述出来ないかと思い調べました。
三項演算子の使い方
IIF(条件式, 真の返り値, 偽の返り値)
条件式を評価し、真ならば第二引数、偽ならば第三引数の値を返り値として返すコードです。
使用例
例えばDB内のテーブルの値を基に結果を出力するソースを記載しています。
・テーブルの中には「名前、年齢」が格納されている。
・年齢を「20歳以上と未満」評価し、それに応じて出力メッセージを変える処理を記載しています。
-- 変数の定義
DECLARE @RESULT nvarchar(10);
DECLARE @TT_NAME nvarchar(10);
DECLARE @TT_AGE int;
-- カーソルの定義
DECLARE @LIST CURSOR FOR
SELECT name, gender FROM TT;
-- カーソルを開く
OPEN @LIST;
FETCH NEXT FROM @LIST
INTO @TT_NAME, @TT_GENDER;
WHILE @@FETCH_STATUS = 0
BEGIN
-- 例えばお酒提供の可否を@RESULTに格納するコード
-- TTテーブルから受け取った年齢が
-- 20歳以上ならOK
-- それ以外ならNGを代入する
SET @RESULT = IIF(@TT_NAME >= 20, 'OK', 'NG');
PRINT @TT_NAME + 'さんはお酒提供' + @RESULT + 'です';
END
最近SQLSERVERを使用しているのですが、
DECLAREとSETの二重書きが少しめんどくさいです^^;
以上です
コメント