4

日付 (年月日) が月日 (月日) の間にあるかどうかを知りたいです。

たとえば、「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

ありがとう

4

3 に答える 3

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'
于 2013-08-27T04:33:24.163 に答える