select count(distinct 日期) from 生产报表 where  日期 between '2014-10-1' and '2014-10-31'
--不知道sqlserver是否支持count(distinct)的方式,不行的话可以用下面的方式
select count(*) from (
select distinct 日期 from 生产报表 where  日期 between '2014-10-1' and '2014-10-31') as T