mysql - 查询以检查日期是否在两个月-日值之间

标签 mysql sql date

我想知道某个日期(年-月-日)是否介于一个月中的某一天(月-日)之间。

例如,我想知道“2013 年 4 月 2 日”是否介于“4 月 2 日”和“4 月 19 日”之间。

对于具有年份值的范围,我可以轻松做到这一点。然而,没有一年,我需要想法如何做到这一点。

我正在努力实现的一些例子:

SELECT 1 WHERE '2013-04-02' BETWEEN '04-01' AND '04-19'; -- result is 1
SELECT 1 WHERE '2014-04-02' BETWEEN '04-01' AND '04-19'; -- result is 1
SELECT 1 WHERE '2014-03-02' BETWEEN '04-01' AND '04-19'; -- result is 1

谢谢

最佳答案

您可以使用 DATE_FORMAT()

示例

SELECT 
*
FROM
 table
WHERE
  DATE_FORMAT(date,'%m-%d') BETWEEN '04-01' AND '04-19'

编辑

SELECT 
   *
FROM
   table
WHERE
   STR_TO_DATE(date, '%m-%d') BETWEEN '04-01' AND '04-19'

关于mysql - 查询以检查日期是否在两个月-日值之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18456954/

相关文章:

sql - MySQL列默认值是另一个表的主键的默认值

mysql - Rails,优化数据库查询

php - 更改 PHP 默认时区不起作用

sql-server - 在 T SQL 中查找两个日期之间的日期

mysql - 连接2个表SQL

mysql - WordPress 主题编辑

mysql - SQL分区在mysql中使用 'not exists'

使用 MID() 的 Python SQLALCHEMY 查询

javascript - 在javascript中添加一天

mysql - 我的查询重复记录