mysql - 返回日期时间值介于 2 列之间的结果
问题描述
我有一个这样的表,我正在尝试检索“2021-06-02 09:30:00”将返回 id 272 的结果。
+-----+---------------------+---------------------+
| id | start_date | end_date |
+-----+---------------------+---------------------+
| 271 | 2021-05-26 08:00:00 | 2021-05-26 09:00:00 |
| 272 | 2021-06-02 09:00:00 | 2021-06-02 10:00:00 |
| 273 | 2021-05-28 08:00:00 | 2021-05-28 09:00:00 |
| 274 | 2021-06-04 08:00:00 | 2021-06-04 09:00:00 |
| 275 | 2021-06-11 08:00:00 | 2021-06-11 09:00:00 |
+-----+---------------------+---------------------+
解决方案
您可以使用 BETWEEN
CREATE TABLE Table1 (`id` int, `start_date` varchar(19), `end_date` varchar(19)) ; INSERT INTO Table1 (`id`, `start_date`, `end_date`) VALUES (271, '2021-05-26 08:00:00', '2021-05-26 09:00:00'), (272, '2021-06-02 09:00:00', '2021-06-02 10:00:00'), (273, '2021-05-28 08:00:00', '2021-05-28 09:00:00'), (274, '2021-06-04 08:00:00', '2021-06-04 09:00:00'), (275, '2021-06-11 08:00:00', '2021-06-11 09:00:00')
SELECT id FROM Table1 WHERE '2021-06-02 09:30:00' BETWEEN `start_date` AND `end_date`
| 编号 | | --: | | 272 |
db<>在这里摆弄
推荐阅读
- swift - UINavigationController 在推送视图的左侧添加自动填充
- python-2.7 - Pass objects as arguments in keywords in robot framework
- sql - Checking existence of row with specific attributes in another table
- angular - Angular Libraries Monorepo:是否可以为每个库使用不同的版本?
- c# - 将非DLL文件复制到其他项目的所有输出目录
- ruby-on-rails - 在 Rails 应用程序中创建 html 标签包装器
- selenium - 流利的等待不忽略异常
- solr - Solr, cast an array of strings to an array of payloads
- python - 如何从 numpy 的数组中选择特定列的值最大的行?
- c++ - 为什么在这种情况下括号不能改变 C++ 运算符的优先级?