当我运行以下查询[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
答案 0 :(得分:9)
SELECT @@LANGUAGE -> gives an Asian one?
SET LANGUAGE Japanese
SELECT DATENAME (month, GETDATE())
SET LANGUAGE us_english
SELECT DATENAME (month, GETDATE())
DATENAME取决于语言,因此需要更改服务器默认语言或登录默认语言...
谢谢你和sayonara ......
答案 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根据它更改其日期格式。