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

时间:2013-08-27 04:29:58

标签: 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

由于

2 个答案:

答案 0 :(得分:3)

您可以使用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'

答案 1 :(得分:0)

以下是与oracle的合作

select * from table_name where to_char(date_column, 'MM-DD') BETWEEN '08-01' AND '08-14'