问题描述
社区。 p>
我在SQLITE中有一个非常典型的任务。
如果X返回Y,否则返回Z。
为此,我使用了CASE语句
“ X则Y的其他情况下结束的情况”。
但是,我在官方文档中发现了IIF功能
https://sqlite.org/lang_corefunc.html#iif
iif(X,Y,Z) 如果X为true,则iif(X,Y,Z)函数返回值Y,否则返回Z。 iif(X,Y,Z)函数在逻辑上等效于CIF表达式,并生成与CASE表达式“ CASE WHEN X THEN Y ELSE Z END”相同的字节码。
但是尝试运行此类功能时,出现错误。
执行完成,但有错误。 结果:没有这样的功能:iif
此功能有什么问题?根据官方文档,这种功能应该存在。
解决方法
感谢@paddy及其他的链接IF() statement alternative in SQLite
问题来自SQLite版本,该版本应为3.32或更高版本。我一直在使用SQLite浏览器,而sqlite版本是3.25。我更新了Sqlite浏览器,并能够使用IIF函数。