SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Cách iif () hoạt động trong SQLite

Trong SQLite, iif() là một hàm có điều kiện trả về đối số thứ hai hoặc thứ ba dựa trên đánh giá của đối số đầu tiên.

Về mặt logic, nó tương đương với CASE WHEN X THEN Y ELSE Z END .

iif() là chữ viết tắt của IF ngay lập tức .

iif() chức năng được giới thiệu trong SQLite 3.32.0, được phát hành vào ngày 22 tháng 5 năm 2020.

Cú pháp

Cú pháp như sau:

iif(X,Y,Z)

Ở đâu:

  • X là biểu thức được đánh giá.
  • Y xác định những gì được trả lại nếu đánh giá của X trả về true.
  • Z xác định những gì được trả lại nếu đánh giá của X trả về false.

Một cách khác để nghĩ về nó là như thế này:

iif(expr, truepart, falsepart)

Ví dụ

Dưới đây là một ví dụ cơ bản để chứng minh cách iif() hoạt động.

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

Kết quả:

True

Trong trường hợp này, biểu thức cần đánh giá là 1 < 2 . Đúng là 1 nhỏ hơn 2 nên đối số thứ hai được trả về.

Điều này tương đương với việc làm như sau.

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

Kết quả:

True

Trong những ví dụ này, tôi đã sử dụng các từ “Đúng” và “Sai” nhưng tôi có thể sử dụng bất cứ thứ gì.

Ví dụ, tôi có thể đã làm điều này thay thế:

SELECT iif( 1 < 2, "Fail", "Pass" );

Kết quả:

Fail

Hoặc nó có thể bị loại bỏ hoàn toàn khỏi câu trả lời kiểu nhị phân “true” hoặc “false”.

Ví dụ:

SELECT iif( 1 < 2, "Sticky Rice", "Banana Smoothie" );

Kết quả:

Sticky Rice

Ví dụ về cơ sở dữ liệu

Dưới đây là một ví dụ sử dụng các cột từ cơ sở dữ liệu.

SELECT 
  ProductName,
  Qty,
  iif( Qty < 10, "Order more", "Sufficient stock" ) AS Notes
FROM Products;

Kết quả:

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. Định dạng kết quả truy vấn SQLite dưới dạng danh sách được phân tách bằng dấu phẩy

  2. Làm cách nào để điền ListView với db vào thư mục nội dung?

  3. Cách truy cập và cập nhật tệp db Sqlite được lưu trữ cục bộ [thư mục tài sản] trong tệp dự án bằng cordova

  4. Phương thức onUpgrade có bao giờ được gọi không?

  5. Thêm tháng vào một ngày trong SQLite