mysql - 如何查询每年的一系列日期?

标签 mysql sql

给定表resumesexperiences与以下结构的一对多关系

resumes

  id int
  title varchar(255)

experiencies

  id int
  resume_id int
  from_date datetime
  to_date datetime

我尝试获取参数年份位于经历表中的字段 from_dateto_date 值之间的所有简历

我附上了一个带有结构的sqlfidlle

例如,给定以下数据

表格恢复 enter image description here

餐 table 体验 enter image description here

如果参数是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/

相关文章:

php - FrozenTime 对象之谜

Mysql按大字段选择排序

php - mysql 和 PHP 的日期时间

php - 优化大型 WordPress 网站

sql - 我可以牺牲一致性来允许并发 'insert or update' 和使用 SQL Server 对单个表进行读取访问吗?

java - 如何检索这些数据而不在内存中进行转换?

mysql - 试图获取最近三个月的数据

SQL/SSIS DataWareHouse 事实表加载,最佳实践?

sql - 谷歌 BigQuery SQL : Prevent column prefix renaming after join

sql - 游标与 While 循环 - SQL Server