如果日期列是日期类型:
seelct * from 表名 where to_char(日期,'mmdd') between '0101' and '0103' and to_char(日期,'yyyy')<='2012';
如果日期列是字符串类型:(假设数据格式是YYYYMMDD)
select * from 表名 where substr(日期,1,4)<='2012' and substr(日期,5,4) between '0101' and '0103';
如果格式不是上述8位年月日的写法(如2012-01-01,2012/01/01,请自行调整SUBSTR中截取起始位置和字符数两个参数。