数据库中有"期限"这个字段  数据类型为char主要是保存时间,但也有空数据和一些其他非时间数据怎样才把这个空数据和非时间数据过滤点 注:不能修改数据类型为datetime

解决方案 »

  1.   

    SELECT * FROM TB WHERE ISDATE(COL1)<>1
      

  2.   

    查询是时间的
    SELECT * FROM TB WHERE ISDATE(COL1)=1
      

  3.   

    ISDATE 确定输入表达式是否为有效日期。
      

  4.   

     使用 ISDATE 检查变量
    下面的示例检查 @datestring 局部变量是否为有效的日期。DECLARE @datestring varchar(8)
    SET @datestring = '12/21/98'
    SELECT ISDATE(@datestring)下面是结果集:----------- 
    1   
      

  5.   

    77  他的数据类型为char可以判断么?
      

  6.   

    delete tb
    where isdate(col)<>1
      

  7.   

    --删除。。
    delete 表名
    where isdate('期限')<>1
      

  8.   

    expression 是 text、ntext 表达式和 image 表达式以外的任意表达式
      

  9.   


    ISDATE
    确定输入表达式是否为有效的日期。语法
    ISDATE ( expression ) 参数
    expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 应该可以自动转换成VARCHAR吧
    我试试看
      

  10.   

    DECLARE @V CHAR(10)
    SET @V='2009-10-1'
    SELECT ISDATE(@V)
    试了一下能行,呵呵
      

  11.   

    我之前用了isdate
    是不行的
      

  12.   

    isdate应该行, 真不行的话, 似乎其它方法都很麻烦
      

  13.   

    你列些数据出来,可能其它没考虑到,应该要用ISDATE来弄的
      

  14.   

    isdate()