cast(   as datetime)

解决方案 »

  1.   

    刚才试验了一下,楼主那个字符格式,直接转就可以了哦:
    create table #test (
    a varchar(100)
    )insert into #test values ('Aug  9 2005 08:12:13:000AM')select a,convert(datetime,a) from #test结果:
    Aug  9 2005 08:12:13:000AM 2005-08-09 08:12:13.000
      

  2.   

    楼上的可以得到结果吗,我执行了怎么报下面的错误?
    (所影响的行数为 1 行)服务器: 消息 241,级别 16,状态 1,行 7
    从字符串转换为 datetime 时发生语法错误。
      

  3.   


    SELECT CAST('Aug  9 2005 08:12:13:000AM' AS DATETIME)
    SELECT CONVERT(DATETIME,'Aug  9 2005 08:12:13:000AM') -----------------------
    2005-08-09 08:12:13.000(1 row(s) affected)
    -----------------------
    2005-08-09 08:12:13.000(1 row(s) affected)
      

  4.   

    我的怎么一直报错,执行
    SELECT CAST('Aug  9 2005 08:12:13:000AM' AS DATETIME)
    SELECT CONVERT(DATETIME,'Aug  9 2005 08:12:13:000AM') 
    也报错
      

  5.   

    你看看你输入的字符串是不是有一些诸如2008-5-32呀、2008-2-30呀、2008-4-17 08:93:00.000AM之类的超出日期范围的字符?不然直接convert就可以了呀。
      

  6.   

    是不是你原来那个varchar的字段不够长,有一些字符被截掉了呀?
      

  7.   

    SELECT CAST('Aug  9 2005 08:12:13:000AM' AS DATETIME)服务器: 消息 241,级别 16,状态 1,行 1
    从字符串转换为 datetime 时发生语法错误。
    ---------------------------------------------
    我也是SQL Server2000+SP4,怎么报错啊??
      

  8.   

    set language N'English'--设置语言为英文declare @t varchar(100)
    set @t='Aug 9 2005 12:00:00:000AM'select cast(@t as datetime)
    /*
    Changed language setting to us_english.
                                                           
    ------------------------------------------------------ 
    2005-08-09 00:00:00.000(所影响的行数为 1 行)
    */
      

  9.   

    设置为中文:
    set language N'简体中文'
      

  10.   

    set language N'English'
    SELECT CAST('Aug  9 2005 08:12:13:000AM' AS DATETIME)
    SELECT CONVERT(DATETIME,'Aug  9 2005 08:12:13:000AM') 
    这个是可以的。如果不设置英文就不行。