gad*_*lat 10 mysql date between
如果日期是独立于年份的日期范围,那么比较最好(最快)的方法是什么?
表"日期":
some_column| since | upto |
-----------|--------------|-------------|
'foo' | '2011-05-01' | '2013-06-01'|
Run Code Online (Sandbox Code Playgroud)
现在我希望这个查询返回'foo'
SELECT foo FROM dates WHERE '2014-05-05' BETWEEN `since` AND `upto`
Run Code Online (Sandbox Code Playgroud)
如果需要,我可以在"日期"表中更改存储日期的类型/格式,但我无法更改我放入查询的日期格式,因为该值通常来自另一个表(它是使用连接的更复杂查询的一部分).
SELECT foo FROM dates WHERE DATE_FORMAT('2014-01-15', "%m-%d")
BETWEEN DATE_FORMAT(`since`,"%m-%d") AND DATE_FORMAT(`upto`,"%m-%d")
Run Code Online (Sandbox Code Playgroud)
这是SQL FIDDLE演示
使用DayOfYear函数:
SELECT foo FROM dates WHERE DayOfYear('2014-05-05')
BETWEEN DayOfYear(`since`) AND DayOfYear(`upto`)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2662 次 |
| 最近记录: |