1.1 条件関数一覧
if-else
SQL 言語には、Javaの演算子に似た関数のリストがありますswitch
。
このような関数は合計 4 つあります。
機能 | 説明 | |
---|---|---|
1 | 場合 | アナログスイッチ |
2 | もしも() | 三項演算子または if-else の類似物 |
3 | IFNULL() | if-else の類似物 |
4 | NULLIF() | if-else の類似物 |
SQL の最後の 3 つは関数として表現され、CASE
本格的な演算子ですので、最後に分けて考えます。
1.2 IF()関数
SQL の関数は、IF()
Java の三項演算子に似ています。SQL 言語では、3 つのパラメーターを受け取り、次のようになります。
IF (condition, true, false)
3 つの式を関数に渡す必要がありますIF
。
- 真偽が試される条件。
- 条件が true の場合に返される式。
- 条件が false の場合に返される式。
どのように機能するかを理解しやすくするために、以下にいくつかの例を示します。
リクエスト | 結果 | |
---|---|---|
1 | SELECT IF( 1>2 , 2, 3) | 3 |
2 | SELECT IF( 1<2 , 'はい', 'いいえ') | 'はい' |
3 | SELECT IF( STRCMP('テスト','テスト1' ), 'いいえ', 'はい') | 'いいえ' |
1.3 関数 IFNULL() および NULLIF()
この関数には 2 つの変更もありますIF()
。
最初の変更は関数ですIFNULL()
。次の 2 つの値のみを取ります。
IFNULL (expression 1, expression 2)
Expression1が に等しくない場合NULL
、関数はExpression1を返します。式 1 の場合IS NULL,
、関数は式 2を返します。本質は、フィールドが に等しい場合にデフォルト値を置き換えることですNULL
。
関数の 2 番目の変更はIF
function でNULLIF()
、これも 2 つの値を取ります。
NULLIF (expression 1, expression 2)
それは逆の方向に動作します。
- Expression1がExpression2と等しい場合、関数は戻ります
NULL
。 - 式が等しくない場合は、expression1が返されます。