mysql - SQL在WHERE子句中添加条件
问题描述
我有一个表,其中有两列是“日期”类型:date1
和date2
.
date1
不能为空,但date2
可以为空
我有以下查询:
SELECT
*
FROM table1
WHERE date1 BETWEEN "2021-01-01" AND "2021-12-31"
如何在 where 子句中添加条件部分,如果date2
IS NOT NULL,则应用以下限制/条件AND date2 BETWEEN "2021-01-01" AND "2021-12-31"
解决方案
你可以使用这个 -
如果 date2 为空,则应用 date2 条件,否则应用 date1 条件。如果你想要别的东西,你可以到处玩。
SELECT
*
FROM table1
WHERE
case when date2 is null AND
date1 BETWEEN "2021-01-01" AND "2021-12-31" then 1
when date2 is not null AND
date2 BETWEEN "2021-01-01" AND "2021-12-31" then 1
else 0
end =1
推荐阅读
- html - 如何使用 bootstrap 5 制作头像?
- yaml - 可以在 application.yaml 中使用 GitHub Secrets 还是只能在 Workflow 文件中使用?
- c# - 我在统一 C# 中为我的游戏制作敌人行为脚本,但出现错误
- php - 使用 ajax 嵌套资源控制器和路由
- excel - 显示打印对话框
- next.js - 每次重新加载 nextjs 材料 ui 样式丢失甚至添加材料 ui nextjs github 存储库的 _app.js 和 _document.js 但重新加载样式后仍然丢失
- node.js - 为下一个连接设置路由页面
- r - 将模型列表(randomForest)应用于 data.frames 列表以获取因素列表
- maven-3 - Maven项目重复依赖警告
- javascript - 将所有 onclick 更改为事件侦听器