我表a中有一个字段atime,格式是:
2007-06-06 15:45:32
2007-06-06 15:35:32
2007-06-06 15:45:35
2007-06-06 15:45:33
2007-06-06 15:23:32
2007-06-06 15:12:32
...................我想查出这个字段中不满足"year-month-day hh:mm:cc"这样格式的数据,不知道该如何写SQL,谢谢!

解决方案 »

  1.   

    select * from a where ISDATE(atime) <> 1
      

  2.   

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

  3.   

    你这个字段不是datetime型?
      

  4.   

    可是他要的是....这样格式的数据.不是用ISDATE吧?
      

  5.   


    select *  from a
    where len(Convert(nvarchar(50),atime))=19 and charindex('-',Convert(nvarchar(50),atime))=5 and charindex(' ',Convert(nvarchar(50),atime))=11 and charindex(':',Convert(nvarchar(50),atime))=14
    and substring (Convert(nvarchar(50),atime),6,2)<=12
    这样试试