谢谢:   netcoder
sql语句是别人封包给我的(里面有n个日期).
我处理比较麻烦.t-sql的help里都是"'Apr 10 2004 12:00AM'"这种格式为什么插不进呢????

解决方案 »

  1.   

    --做如下设置,再执行你的查询语句就OK了
    set language english
      

  2.   

    --插入处理完成后,再改回默认设置:set language 简体中文
    出现这种问题,主要是你的sql的默认会话语言环境不认识 'Apr 10 2004 12:00AM' 这种日期格式,所以要改为认识这种日期格式的会话语言环境
      

  3.   

    --下面的测试说明这个问题.
    set language english
    select cast('Apr 10 2004 12:00AM' as datetime)
    /*--结果Changed language setting to us_english.
                                                           
    ------------------------------------------------------ 
    2004-04-10 00:00:00.000(所影响的行数为 1 行)
    --*/set language 简体中文
    select cast('Apr 10 2004 12:00AM' as datetime)/*--结果:已将语言设置改为 简体中文。
    服务器: 消息 241,级别 16,状态 1,行 5
    从字符串转换为 datetime 时发生语法错误。
    --*/
      

  4.   

    insert into tb(date1) values(cast('Apr 10 2004 12:00AM' as datetime))
    或者
    insert into tb(date1) values(convert(varchar(19),'Apr 10 2004 12:00AM',120))