日期:2014-05-18  浏览次数:20646 次

日期统计问题
有个表中有一列是代表生日,如:1922-12-21
我如何能筛选出忽略年份并且属于一个日期段的数据
如:2月1日到3月20日的数据,谢谢

------解决方案--------------------
select * from 表 where right(convert(varchar(8),生日,112),4) between '0201 ' and '0320 '
------解决方案--------------------
--或者
select * from 表 where right(convert(varchar(10),getdate(),120),5) between '02-01 ' and '03-20 '
------解决方案--------------------
有个表中有一列是代表生日,如:1922-12-21
我如何能筛选出忽略年份并且属于一个日期段的数据
如:2月1日到3月20日的数据,谢谢

如果列为字符串型
select * from substring(列,6,5) > = '02-01 ' and substring(列,6,5) <= '03-20 '
如果列为datetime型
select * from right(convert(varchar(10),列,120),5) > = '02-01 ' and right(convert(varchar(10),列,120),5) <= '03-20 '

------解决方案--------------------
select *
from 表
where right(convert(varchar(8),生日,112),4) between '0201 ' and '0320 '