select * from 通行记录表 where convert(datetime,登记时间)
 between convert(datetime,'2011-4-6') and convert(datetime,'2011-5-6')) 小弟执行上面的SQL语句时出现下面的问题(语法方面是没有问题的):
"从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界"登记时间是一个varchar的字段来的,都是类似2011-04-02 23:25:02格式的.请教各位大哥这是怎样导致的呢,有什么解决的办法?万分期待....

解决方案 »

  1.   

    select * from 通行记录表 where ISDATE(登记时间)=1
                    and convert(datetime,登记时间)
                between convert(datetime,'2011-4-6') and convert(datetime,'2011-5-6')) 
      

  2.   

    哦,原来可以用ISDATE来判断是不是日期格式的字符串,谢谢你了,这位大哥!~~