SQLite
 sql >> база данни >  >> RDS >> SQLite

Как iif() работи в SQLite

В SQLite, iif() е условна функция, която връща втория или третия аргумент въз основа на оценката на първия аргумент.

Логически е еквивалентно на CASE WHEN X THEN Y ELSE Z END .

iif() е съкращение от Незабавен IF .

iif() функцията беше въведена в SQLite 3.32.0, който беше пуснат на 22 май 2020 г.

Синтаксис

Синтаксисът е така:

iif(X,Y,Z)

Къде:

  • X е изразът, който трябва да се оцени.
  • Д дефинира какво се връща, ако оценката на X връща true.
  • Z дефинира какво се връща, ако оценката на X връща false.

Друг начин да мислите за това е така:

iif(expr, truepart, falsepart)

Пример

Ето основен пример, за да демонстрирате как iif() работи.

SELECT iif( 1 < 2, "True", "False" );

Резултат:

True

В този случай изразът за оценка е 1 < 2 . Вярно е, че 1 е по-малко от 2, така че вторият аргумент беше върнат.

Това е еквивалентно на следното.

SELECT 
  CASE WHEN 1 < 2 THEN "True"
    ELSE "False"
  END;

Резултат:

True

В тези примери използвах думите „Вярно“ и „Невярно“, но можех да използвам всичко.

Например, можех да направя това вместо това:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite - Импортиране на данни от CSV файл

  2. Данните се попълват от датата на конкретна таблица вместо от цялата таблица в sqlite

  3. Проблем с паметта на SQLite с единичен подход

  4. Намерете стойности, които не съдържат числа в SQLite

  5. SQLite Е NULL