Skip to main content

SQLite IIF()函数的基本指南

SQLite IIF()函数概述

SQLite从3.32.0版开始引入IIF()函数。下面显示了IIF()函数的语法:

IIF(expression, true_expression, false_expression);

在这种语法中,IIF()函数首先计算表达式。如果结果为true,则IIF()函数将返回第二个表达式(true表达式)的值。否则,它将返回第三个表达式(false表达式)的值。

IIF()函数等价于以下CASE表达式:

CASE
WHEN expression
THEN true_expression
ELSE
false_expression
END

实际上,可以使用IIF()函数将if-else逻辑添加到查询中,以形成更灵活的查询。

SQLite IIF()函数示例

让我们以SQLite IIF()函数为例。

1) 简单的SQLite IIF()函数示例

以下查询说明了如何在简单的SELECT语句中使用IIF()函数:

SELECT IIF(1 < 2, 'Yes', 'No' ) result;

输出:

result
----------
yes

2) 使用SQLite IIF()函数对信息进行分类

请参见示例数据库中的以下轨迹表:

下面的语句使用IIF()函数根据轨迹的长度对轨迹表中的轨迹进行分类:

SELECT 
name,
milliseconds,
IIF(milliseconds <= 300000, 'Short',
IIF(milliseconds > 300000 AND milliseconds <= 600000, 'Medium',
IIF(milliseconds > 600000, 'Long','N/A')
)
)
FROM
tracks;

在本教程中,您学习了如何使用SQLite IIF()函数向查询添加if-else逻辑。