使用LIKE条件选择更大的日期

时间:2013-01-11 11:45:42

标签: mysql

我已经尝试但无法想象我如何选择,有一个LIKE和一个更大的条件:

SELECT * FROM table WHERE date > '2011-12-31' AND date LIKE "%-12-31"

因此,如果用户发送date作为以下内容:1950-12-31,我需要的所有日期都比发布日期更长,哪个月和日期类似%-12-31

3 个答案:

答案 0 :(得分:4)

请勿使用LIKE。试试这个

SELECT *
FROM table
WHERE
    date > '2011-12-31'
    AND MONTH(date) = 12
    AND DAY(date) = 31

我没有MySQL测试,但你明白我希望。

答案 1 :(得分:1)

Select * from table1 where date> urdate
And extract(month from date) = extract (month from Urdate)
And extract(day from date) = extract (day from urdate)
;

答案 2 :(得分:1)

考虑到这些解决方案需要全表扫描,我不建议任何需要在相等左侧使用函数的解决方案;大桌上的禁忌。

我建议在构造查询之前确定两个日期范围,然后简单地使用BETWEEN。还要在日期列上添加索引。

select * from table1 where date between :1 and :2

其中:1和:2是参数。

HTH