我想知道日期(年 - 月 - 日)是否在一个月的某一天(月 - 日)之间。
例如,我想知道“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
由于
答案 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'