例如, select cast(getdate() as varchar)在有的服务器上显示如下格式
01 26 2007  7:27PM在有的服务器上显示如下格式
Jan 26 2007  7:31PM这是什么原因?

解决方案 »

  1.   

    --tryselect convert(varchar, getdate(), 120)
      

  2.   

    select cast(getdate() as varchar)
    --result
    ------------------------------ 
    Jan 26 2007  7:34PM(1 row(s) affected)
    select convert(varchar, getdate(), 120)
    --result
    ------------------------------ 
    2007-01-26 19:34:40(1 row(s) affected)
      

  3.   

    在有的服务器上显示如下格式
    01 26 2007  7:27PM在有的服务器上显示如下格式
    Jan 26 2007  7:31PM
    -------------------------------------跟操作系统的语言环境有关, 可能通过
    SET LANGUAGE
    来指定当前会话的语言环境
      

  4.   

    SET LANGUAGE N'简体中文'
    select convert(varchar,getdate(),109)
    SET LANGuAGE N'ENGLISH'
    select convert(varchar,getdate(),109)--结果
    已将语言设置更改为 简体中文。------------------------------
    01 26 2007  7:55:00:123PM(1 行受影响)Changed language setting to us_english.------------------------------
    Jan 26 2007  7:55:00:123PM(1 行受影响)
      

  5.   

    转化为时间最好用:convert,有多种时间格式!
    如显示:2006-01-27
    select convert(nvarchar(10),getdate(),120)
      

  6.   

    用dbcc useroptions查看结果集中的language项, 若为us_english则支持字母格式日期, 若为简体中文则不支持若只在当前会话中更改, 使用set language us_english

    set language 简体中文若要长期保存, 需对登录进行更改sp_defaultlanguage @loginame='sa', @language='us_english'