| 演算子 | 説明 |
|---|---|
| = | 左辺と右辺が一致するとTrue |
| != | 左辺と右辺が一致しないとTrue |
| <> | 左辺と右辺が一致しないとTrue (!= と一緒) |
| > | 左辺が右辺よりも大きいとTrue |
| < | 左辺が右辺よりも小さいとTrue |
| >= | 左辺が右辺以上ならばTrue |
| <= | 左辺が右辺以下ならばTrue |
| IN | 左辺が右辺のリストに含まれていればTrue |
| NOT IN | 左辺が右辺のリストに含まれていなければTrue |
| BETWEEN x AND y | 左辺がxからyの範囲であればTrue |
| NOT BETWEEN x AND y | 左辺がxからyの範囲でなければTrue |
| LIKE | 左辺が右辺に部分一致すればTrue |
| NOT LIKE | 左辺が右辺に部分一致しなければTrue |
| IS NULL | 左辺がNULLであればTrue |
| IS NOT NULL | 左辺がNULLでなければTrue |
IN以降の演算子はSQLのWHERE句で使われているものですが、IF文の条件式などでも使用できるんですね。
WHERE句で書いているので馴染みはありますが、条件式を書いているときに、
パッとは思い出せないというか、思いつかないというか、パッとは出てこないです。
慣れですかね・・・
DECLARE
value NUMBER := 5;
strValue VARCHAR2(10) := 'ABC';
BEGIN
--IN演算子
--出力:リストに含まれる
IF ( value IN ( 1, 3, 5, 7, 9) ) THEN
SYS.DBMS_OUTPUT.PUT_LINE('リストに含まれる');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('リストに含まれない');
END IF;
--BETWEEN演算子
--出力:1~9の範囲である
IF ( value BETWEEN 1 AND 9 ) THEN
SYS.DBMS_OUTPUT.PUT_LINE('1~9の範囲である');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('1~9の範囲でない');
END IF;
--LIKE演算子
--出力:BCに後方一致する。
IF ( strValue LIKE '%BC' ) THEN
SYS.DBMS_OUTPUT.PUT_LINE('BCに後方一致する。');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('BCに後方一致しない');
END IF;
--IS NULL演算子
--出力:NULLである
strValue := null;
IF ( strValue IS NULL) THEN
SYS.DBMS_OUTPUT.PUT_LINE('NULLである。');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('NULLでない');
END IF;
END;
0 件のコメント:
コメントを投稿