求一SQL语句或一种解决方法
table1 
 --------------------------------- 
 序号               名称                  日期                         
 1                           A                  2007-1-22 
 2                           B                  2007-1-25             
 3                           C                        待办 
 4                           D                        未填 
 ...... 
 --------------------------------- 
 如上表,想按日期进行筛选,把一段时间内的记录检索出来,由于日期字段为字符型,所以检索起来比较麻烦。能否一条SQL语句可以解决,或其他解决方法也行,尽量实现起来简单为好。
------解决方案--------------------select * from table1 
 where isnumeric(left(日期,1)) = 1  
 and convert(datetime,日期,120) between 开始日期 and 结束日期
------解决方案--------------------select * from table1 
 where isdate(日期) = 1  
 and convert(datetime,日期,120) between 开始日期 and 结束日期     
 ***************************************************************************** 
 欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)    
 最新版本:20070130   
 http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案----------------------try   
 create table T(序号 int, 名称 varchar(10), 日期 varchar(20)) 
 insert T select 1,          'A ',       '2007-1-22 ' 
 union all select 2,          'B ',       '2007-1-25 '     
 union all select 3,          'C ',         '待办 ' 
 union all select 4,          'D ',         '未填 '   
 select * from T 
 where (case when isdate(日期)=1 then cast(日期 as datetime) else NULL end) 
 between  '2007-01-21 ' and  '2007-01-23 '   
 --result 
 序号          名称         日期                    
 ----------- ---------- --------------------  
 1           A          2007-1-22   
 (1 row(s) affected)