这是我的桌子:
ut_period
id | month | year | name
1 | 9 | 2013 | dddd
2 | 2 | 2017 | eeee我要选择2013-8年和2018-9年的女巫行。所以我写了这个查询,但没有成功:
SELECT *
FROM `ut_period` p
WHERE `p`.`status` = 4
AND `p`.`year` >= '2013'
AND `p`.`mont` >= '8'
AND `p`.`year` <= '2018'
AND `p`.`month` <= '9' 我该怎么做呢?
发布于 2013-08-31 14:09:16
我发现处理“年度月”最简单的方法是乘以--基本上,从某个日期起的月数:
select p.*
from ut_period p
where (p.year * 12 + p.month) between 2013*12 + 8 and 2018*12 + 9;如果您愿意,还可以将这些转换为表单YYYYMM的数字,这使得输入范围的常量值变得更容易:
select p.*
from ut_period p
where (p.year * 100 + p.month) between 201308 and 201809;发布于 2013-08-31 14:07:34
对月份和年份使用子句。
(这里的文件)
而且,您确实应该将日期、月份和年份放在一个列中--这就是为什么MySQL有与日期相关的字段类型。用日期字段类型替换日期、月份和年份,这样就可以更容易地比较日期。
https://stackoverflow.com/questions/18548985
复制相似问题