declare @s varchar(100)
set @s='2004-apr-07'if isdate(@s)=1
select 转换成日期的结果=cast(@s as datetime)
else
select '不是合法的日期格式'

解决方案 »

  1.   

    if isdate(字段)=1
       select cast(字段 as DateTime)
      

  2.   

    楼主的意思是不是对于你来说2004-apr-07也是一个合法的日期?
      

  3.   

    --默认的简体中文是没有这种日期格式的--设置日期语言,支持楼主这种格式才行
    set language 'Arabic'declare @s varchar(100)
    set @s='2004-apr-07'if isdate(@s)=1
    select 转换成日期的结果=cast(@s as datetime)
    else
    select '不是合法的日期格式'
    /*----测试结果转换成日期的结果                                               
    ------------------------------------------------------ 
    2004-04-07 00:00:00.000(所影响的行数为 1 行)
    --*/