给定表resumes
和experiences
与以下结构的一对多关系
resumes
id int
title varchar(255)
experiencies
id int
resume_id int
from_date datetime
to_date datetime
我尝试获取参数年份位于经历表中的字段 from_date
和 to_date
值之间的所有简历
我附上了一个带有结构的sqlfidlle
例如,给定以下数据
如果参数是2010
,我期望的结果是id为1和2的简历
1 因为第 1 行中的经历是在 2010 年,尽管与简历 1 相关的其他经历不是在 2010 年。第 2 因为 2010 年是在 2008 年到 2018 年之间
预先感谢您的帮助
最佳答案
您可以使用Year
函数从日期列中获取年份并应用如下所示的where子句 -
select *
from experiencies
where year(from_date) <= 2010 and year(to_date) >= 2010
您也可以在where子句中使用BETWEEN
。
SET @Param = 2010
select *
from experiencies
where @Param between year(from_date) and year(to_date)
关于mysql - 如何查询每年的一系列日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51369678/