declare @date varchar(50) 
set @date ='Sep 28 1978 12:00AM' select cast(left(@date, Len(@date) -2) as datetime)

解决方案 »

  1.   

    在我的SQL里。
    Declare @Date varchar(50) 
    Set @Date='Sep 28 1978 12:00AM'
    Select Convert(DateTime,@Date)这是可以OK的。我的是英文版的。
      

  2.   

    你更改一下用户的默认登陆语言试下exec sp_defaultlanguage 'sa','us_english'转换成功后,再改回来。
      

  3.   

    declare @date varchar(50) 
    set @date ='Sep 28 1978 12:00AM' select cast(left(@date, Len(@date) -2) as datetime)
    还是 “从字符串转换为 datetime 时发生语法错误”我是直接在SQL 查询分析器中运行这段语句的
      

  4.   

    会不会是系统没“Sep 28 1978 12:00AM”这种日期格式的缘故。^_^
      

  5.   

    英文SQL,这样写是可以的,你的SQL应该是中文的,所以更改一下默认登陆语句试下。
      

  6.   

    我的也是英文SQLDeclare @Date varchar(50) 
    Set @Date='Sep 28 1978 12:00AM'
    Select Convert(DateTime,@Date)
    ---------------
    此时,时间不对为00:00:00
    把AM去掉时间就对了
      

  7.   

    中文下也可以,需要指定会话的语言环境为英文环境:
    declare @date varchar(50) 
    set @date ='Sep 28 1978 12:00AM' 
    SET LANGUAGE us_english
    select cast(left(@date, Len(@date) -2) as datetime)
      

  8.   

    你更改一下用户的默认登陆语言试下exec sp_defaultlanguage 'sa','us_english'
    修改了,还是不行!到底怎么回事呢?
      

  9.   

    修改默认登陆语言后
    exec sp_defaultlanguage 'sa','us_english'
    再重新登陆一下或者使用
    set language 'us_english'
      

  10.   

    to: pbsql(风云) 中文下也可以,需要指定会话的语言环境为英文环境:
    declare @date varchar(50) 
    set @date ='Sep 28 1978 12:00AM' 
    SET LANGUAGE us_english
    select cast(left(@date, Len(@date) -2) as datetime)可以通过,多谢了!有个疑问:SET LANGUAGE us_english 运行这个以后是不是系统以后默认都是us_english了?
    如果我以前是 简体中文,这样改了以后会不会有什么影响?