php - 如何从 MYSQL 数据库中仅从两个 DATETIME 中进行选择?
问题描述
我在 MYSQL 数据库中有一个表,它有 2 列。
1- start_date
2- end_date
上面的列都像这样保存 DATETIME:
start_date end_date
2019-10-03 13:30:00 2020-10-03 23:30:00
current date
仅当介于start_date
和之间时,我才需要从 MYSQL 表中进行选择end_date
。
所以我尝试了这个 MYSQL 查询:
SELECT * FROM table WHERE `end_date` >= CURDATE() AND `start_date` <= CURDATE()
但这不起作用,即使当前日期在 start_date 和 end_date 之间,也不会从数据库返回任何内容。
有人可以请教这个吗?
解决方案
问:只有当前日期在 start_date 和 end_date 之间时,我才需要从 MYSQL 表中进行选择。
试试这个。
SELECT * FROM `table` WHERE CURDATE() between start_date and end_date
将其转换为之前的日期,因为您使用的是他们的时间戳。
SELECT * FROM `table` WHERE CURDATE() between date(start_date) and date(end_date)
或者
SELECT * FROM `table` WHERE NOW() between start_date and end_date
推荐阅读
- java - 我如何将 mail.jar 添加到 oracle sql developer 以解决此错误
- php - Symfony 5 中的 Payum 集成返回错误“no container set”
- unit-testing - Kafka 主题单元测试
- spring-boot - 我可以在微服务开发中实现哪些模式?
- ada - 我应该怎么做才能解决 GNAT GPS“找不到库”问题并在我的 Mac 上构建我的第一个“Hello World”程序?
- android - Android - Firebase 控制台 - 无法添加 SHA1 - 删除了以前的所有者 - 原始项目是孤立的
- javascript - 猫鼬光标获取流的大小
- sql - 加入 2 个查询
- android - 带有 AndroidX 的 LibGDX(我需要 Fragments 和 WorkManager)
- powerbi - Power Bi DAX:本月总计