sql如何查询历史同期记录

来源:百度知道 编辑:UC知道 时间:2024/06/27 17:45:41
就是历年所有日期相同的记录都查出来,请各位高人指点,谢谢!

历年来所有日期相同的记录...
就是说每年的同一个月同一天就是相同的记录吧?
思路是在日期中截取月份,天数。对这两项进行比较。
1 怎样截取:DATE类型或VARCHAR类型的截取方式不同,具体你可以查;
2 查询天数和月份都相同的ID,再根据ID查询完整的记录

以上只是思路.....

我不知道你是不是问的是,历史的今天的记录

select * from 表名 where month(日期列) = month(getdate()) and day(日期列) = day(getdate())

这是查找历史的今天的记录。如果你不是问这个的话,就按这样的方式也可以取到别的日期数据。

能不能给个表结构和记录看看,这样方便回答

假设表名table1, 日期列名column1,查询语句如下

select * from table1 a join
(select right(convert(varchar(10),column1,120),5) as rq from table1 group by right(convert(varchar(10),column1,120),5) having count(*)>1) b
on right(convert(varchar(10),a.column1,120),5) = b.rq