使用以下结构以一对多关系给出表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年之间
预先感谢您的帮助
答案 0 :(得分:1)
您可以使用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)