假设我有一个表,其中包含一个 from_month
(int,1-12)和一个 to_month
(int,1-12)列,然后我还有另一个包含 from
(int,unix 时间戳)和 to
(int,unix 时间戳)列的表。
如何匹配 from_month
和 to_month
列包含我的 from
和 to
时间戳的行,采用考虑到两边的年份界限吗?
场景:
- 如果
from_month
为11,to_month
为2,有没有办法让我得到from
值 1383264000 和to
值 1391212800 是否匹配?
但与此同时:
- 将
from_month
设为 3 和to_month
8,有没有办法获得from
值 1362096000 和to
值 1375315200 匹配吗?
澄清:
- 我需要第二个表中的记录,其中两个时间戳的月份均落在第一个表中规定的范围内。
- 此外,我可以从时间戳中获取月份,因此 MySQL 不需要解析它,但解决方案可能不受影响。
最佳答案
抱歉,但我不确定您想如何与年份
进行比较
但如果只有月份,你可以使用FROM_UNIXTIME
从 unixtime 获取日期,以及 MONTH
从日期获取月份
例如
SELECT FROM_UNIXTIME(1391212800)
> February, 01 2014 00:00:00+0000
SELECT MONTH(FROM_UNIXTIME(1391212800))
> 2
有了 unix 时间的月份,我相信您可以完成剩下的工作或帮助解释您想要的更多细节。
希望这有帮助
关于mysql - 如何将数据库中的月份范围与两个日期相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18856009/