sql - 没有这样的功能: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
这个功能有什么问题?根据官方文档,应该存在这样的功能。
解决方案
感谢@paddy 和他在 SQLite 中的 IF() 语句替代项的链接
问题来自 SQLite 版本,它应该是 3.32 或更高版本。我一直在使用 SQLite 浏览器,sqlite 版本是 3.25。我更新了 Sqlite 浏览器并能够使用 IIF 功能。
推荐阅读
- python - 为什么当我将其更改为整数时会浮动
- node.js - 如何从 npm-scripts 获取返回值?
- java - 无法理解使用 0 和 -1 来处理这种类型的返回
- c# - 如何从外部提供商获取新的 OAuth 访问令牌
- php - 当另一个成功执行时进行一个ajax调用
- sql - PostgreSQL查询:根据设备的另一个参数的值选择设备及其一个参数
- javascript - 我如何解决javascript中的光圈函数?
- python - 如何在 discord.py 中添加角色?
- reactjs - 如何在reactjs中将id属性添加到radial-gauge(或如何将100%的宽度和高度设置为仪表)
- javascript - 在 vuejs 中单击按钮时显示/隐藏动态数据