DATENAME(MONTH,GETADATE())返回月份的数值为'09'

时间:2009-09-30 13:01:08

标签: sql sql-server sql-server-2005 localization

当我运行以下查询[SELECT DATENAME(MONTH,GETDATE())]时,理想情况下它应该返回值为'September'但返回值为'09'。我在MS SQL Server 2005上运行此查询。我需要配置MS SQL Server 2005吗?

请查找SQL Server 2005的详细信息

Component Name                                Version
--------------------------------------------------------------------
Microsoft SQL Server Management Studio        9.00.1399.00
Microsoft Analysis Services Client Tools      2005.090.1399.00
Microsoft Data Access Components (MDAC)       2000.086.3959.00 (srv03_sp2_rtm.070216-1710)
Microsoft MSXML                               2.6 3.0 4.0 5.0 6.0 
Microsoft Internet Explorer                   6.0.3790.3959
Microsoft .NET Framework                      2.0.50727.42
Operating System                              5.2.3790

5 个答案:

答案 0 :(得分:9)

SELECT @@LANGUAGE -> gives an Asian one?

SET LANGUAGE Japanese
SELECT DATENAME (month, GETDATE())

SET LANGUAGE us_english
SELECT DATENAME (month, GETDATE())

DATENAME取决于语言,因此需要更改服务器默认语言或登录默认语言...

谢谢你和sayon​​ara ......

答案 1 :(得分:1)

嗯,我得到“九月”,SqlServer 2005 9.00.3402。

答案 2 :(得分:0)

不,SELECT DATENAME(月,GETDATE());九月回来给我。我刚刚在SQL 2005和2008中尝试过它。你在哪里执行这个查询?这可能有助于为什么会发生这种情况。

答案 3 :(得分:0)

我能想到的唯一一件事就是校对会导致这种情况,但是我找不到任何可以做到这一点的校对的具体例子。另一种可能性是可以设置日期格式的语言。我有点神秘,但这些都是开始的地方。

答案 4 :(得分:0)

尝试跑步:

选择名称,别名,dateformat 来自syslanguages   其中langid =    (从master..sysconfigures中选择值,其中comment ='default language')

查看系统认为正在使用的语言。 SqlServer根据它更改其日期格式。