mysql - MySQL中的条件字段
问题描述
是否有类似IF
语句可用于 MySQL 中的选择查询?
例如,采用以下查询:
SELECT last_online, NOW() as "current_date" FROM streamers;
+---------------------+---------------------+
| last_online | current_date |
+---------------------+---------------------+
| 2020-07-29 01:46:20 | 2020-07-29 01:46:23 |
+---------------------+---------------------+
我希望能够执行以下操作:
mysql> SELECT offline as "YES" IF current_date - NOW() < 10s ELSE "NO" FROM streamers;
+-----------------+
| offline |
+-----------------+
| NO |
+-----------------+
解决方案
是的 MySQL 有一个IF
函数https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html#function_if
IF(expr1,expr2,expr3)
如果 expr1 为 TRUE(expr1 <> 0 且 expr1 <> NULL),则 IF() 返回 expr2。否则,它返回 expr3。
所以你的查询将是,
SELECT IF(`current_date` - NOW() < 10, "YES", "NO") as offline FROM streamers;
推荐阅读
- parameters - 如何在 Scilab 的 ode-solver 中包含时间相关变量?
- html - 使元素可滚动正在切断内容
- javascript - 为什么我需要将匿名函数传递给 onClick 事件?
- c# - SonarQube 问题:确保解压此存档文件是安全的
- opayo - Sagepay - 尽管 3dSecure 失败,但付款已授权
- excel - Excel countif 和 sumif 一起使用
- c++ - 为什么这段代码不直接使用 C++ 幂函数?有人可以帮助我使用此代码中的电源功能吗?
- python - 如何将 csv 转换并格式化为包含标题名称的列表列表
- kotlin - 为什么 Kotlin 的 Number-class 缺少运算符?
- r - 如何将原始向量从 sqlQuery 转换为数据框中的单个字符串?