首页 > 解决方案 > 没有这样的功能:SQLITE 中的 iif

问题描述

社区。

我在 SQLITE 中有一个非常典型的任务。

如果 X 返回 Y,否则返回 Z。

为此,我使用了 CASE 语句

“情况当 X 然后 Y ELSE Z 结束”。

但是,我在官方文档中发现了 IIF 功能

https://sqlite.org/lang_corefunc.html#iif

iif(X,Y,Z) 如果 X 为真,iif(X,Y,Z) 函数返回值 Y,否则返回 Z。iif(X,Y,Z) 函数在逻辑上等同于并生成与 CASE 表达式“CASE WHEN X THEN Y ELSE Z END”相同的字节码。

但是当试图运行这样的功能时,我得到一个错误。

执行完成但出现错误。结果:没有这样的功能:iif

这个功能有什么问题?根据官方文档,应该存在这样的功能。

标签: sqlsqlitecaseiif

解决方案


感谢@paddy 和他在 SQLite 中的 IF() 语句替代项的链接

问题来自 SQLite 版本,它应该是 3.32 或更高版本。我一直在使用 SQLite 浏览器,sqlite 版本是 3.25。我更新了 Sqlite 浏览器并能够使用 IIF 功能。


推荐阅读