如果条件为 TRUE,SQLite IIF() 函数返回一个值,如果条件为 FALSE,则返回另一个值。
语法
IIF(condition, value_if_true, value_if_false)
参数
condition | 必填。 指定要测试的值。 |
value_if_true | 必填。 指定条件为TRUE时返回的值。 |
value_if_false | 必填。 指定条件为FALSE时返回的值。 |
返回值
返回基于条件的值。
示例 1:
下面的示例显示了IIF()函数的用法。
SELECT IIF(100>200, "TRUE", "FALSE");
Result: "FALSE"
SELECT IIF(100<200, "T", "F");
Result: "T"
SELECT IIF(100<200, 500, 600);
Result: 500
SELECT IIF(DATE(NULL), 500, 600);
Result: 600
SELECT IIF('', 500, 600);
Result: 600
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | x | y |
---|---|---|
Data 1 | 10 | 8 |
Data 2 | 20 | 22 |
Data 3 | 30 | 31 |
Data 4 | 40 | 39 |
Data 5 | 50 | 53 |
下面的查询用于比较列x和y的记录。根据比较,记录结果。
SELECT *, IIF(x > y, "TRUE", "FALSE") AS IIF_Value FROM Sample;
这将产生如下所示的结果:
Data | x | y | IIF_Value |
---|---|---|---|
Data 1 | 10 | 8 | TRUE |
Data 2 | 20 | 22 | FALSE |
Data 3 | 30 | 31 | FALSE |
Data 4 | 40 | 39 | TRUE |
Data 5 | 50 | 53 | FALSE |