没有这样的函数:SQLite 中的 iif

问题描述 投票:0回答:1

我在 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”,并生成相同的字节码。

但是当尝试运行该函数时,我收到错误。

Execution finished with errors.
Result: no such function: iif

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

sql sqlite case iif
1个回答
3
投票

感谢 @paddy 及其这篇文章的链接 SQLite 中的 IF() 语句替代方案

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

© www.soinside.com 2019 - 2024. All rights reserved.