【发布时间】:2021-02-03 07:41:25
【问题描述】:
我有一个包含两个字段“月”和“年”的表,我如何进行查询,通过一个月和一年,选择该月和该年的所有内容。 例如,如果查询中的月份和年份是月份为 9,年份为 2020,如果我在表中有来自同一月份和同一年或前两个月或过去一年或一年以上的记录,他们都出去了吗?
谢谢大家
【问题讨论】:
标签: mysql sql datetime where-clause date-arithmetic
我有一个包含两个字段“月”和“年”的表,我如何进行查询,通过一个月和一年,选择该月和该年的所有内容。 例如,如果查询中的月份和年份是月份为 9,年份为 2020,如果我在表中有来自同一月份和同一年或前两个月或过去一年或一年以上的记录,他们都出去了吗?
谢谢大家
【问题讨论】:
标签: mysql sql datetime where-clause date-arithmetic
一个选项使用算术:
select *
from mytable
where year * 100 + month <= date_format(current_date, '%Y%m')
或者:
where year * 100 + month <= year(current_date) * 100 + month(current_date)
【讨论】:
year(current_date) 替换为2020 并将month(current_date) 替换为9。所以:where year * 100 + month <= :p_year * 100 + :p_month,其中:p_year 和:p_month 是查询的参数。