数据字段类型用varchar(10)  里面存的是时间,比如2009-08-05,2009-5-8但是现在数据库里面被插入了一些非时间的数据,比如200905-06我现在该怎么才能找出这些非时间类型的数据呢??谢谢指教

解决方案 »

  1.   

    patindex('%[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]%',字段)>0
      

  2.   

    isdate如果是日期格式返回1,否则返回0
      

  3.   

    select isdate(200905-06)
    /*
    -----------
    0(1 行受影响)
    */
    ISDATE
    确定输入表达式是否为有效的日期。语法
    ISDATE ( expression ) 参数
    expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 返回类型
    int注释
    如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。下表显示一组示例所得到的返回值
      

  4.   

    select isdate('2009-01-01')
    select ISDATE('20099-01-01')
    --第一个返回1,第二个返回0