SQLiteでは、iif()
は、最初の引数の評価に基づいて2番目または3番目の引数を返す条件関数です。
これは、CASE WHEN X THEN Y ELSE Z END
と論理的に同等です。 。
iif()
Immediate IFの略語です。 。
iif()
この関数は、2020年5月22日にリリースされたSQLite3.32.0で導入されました。
構文
構文は次のようになります:
iif(X,Y,Z)
場所:
- X 評価する式です。
- Y Xの評価が返されるものを定義します trueを返します。
- Z Xの評価が返されるものを定義します falseを返します。
別の考え方は次のようになります:
iif(expr, truepart, falsepart)
例
iif()
の方法を示す基本的な例を次に示します。 動作します。
SELECT iif( 1 < 2, "True", "False" );
結果:
True
この場合、評価する式は1 < 2
でした。 。 1が2未満であるため、2番目の引数が返されました。
これは、次のことを行うのと同じです。
SELECT
CASE WHEN 1 < 2 THEN "True"
ELSE "False"
END;
結果:
True
これらの例では、「True」と「False」という単語を使用しましたが、何でも使用できました。
たとえば、代わりにこれを行うことができます:
SELECT iif( 1 < 2, "Fail", "Pass" );
結果:
Fail
または、「真」または「偽」のバイナリタイプの回答から完全に削除されたものである可能性があります。
例:
SELECT iif( 1 < 2, "Sticky Rice", "Banana Smoothie" );
結果:
Sticky Rice
データベースの例
これは、データベースの列を使用する例です。
SELECT
ProductName,
Qty,
iif( Qty < 10, "Order more", "Sufficient stock" ) AS Notes
FROM Products;
結果:
ProductName Qty Notes ----------- ---------- ---------------- Hammer 10 Sufficient stock Saw 5 Order more Wrench 7 Order more Chisel 9 Order more Bandage 70 Sufficient stock