DATENAME(月,GETADATE())被称为“09”返回该月的数值(DATENAME(MONT

2019-07-20 05:14发布

当我运行下面的查询[SELECT DATENAME(MONTH,GETDATE())],在理想情况下,它应该返回的值是“月”,但它返回的值是“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

Answer 1:

SELECT @@LANGUAGE -> gives an Asian one?

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

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

DATENAME依赖于语言,所以需要改变服务器的默认或登录默认语言...

谢谢你,再见......



Answer 2:

Hmmmm,我碰到一个 “九”,SqlServer的2005 9.00.3402。



Answer 3:

不,SELECT DATENAME(月,GETDATE()); 返回九月我。 我只是试图在SQL 2005和2008年你在哪里执行这个查询? 这可能帮助,为什么这是发生在你身上。



Answer 4:

我能想到的唯一的事情是整理造成这一点,但我无法找到一个整理,将做到这一点的任何具体的例子。 另一种可能性可能是其还设置日期格式的语言。 我有点困惑,但这些地方开始。



Answer 5:

尝试运行:

选择名,别名,从syslanguages中的日期格式,其中LANGID =(选择从master..sysconfigures值,其中注释=“默认语言”)

要查看系统认为什么语言它的使用。 SqlServer的改变基于它的日期格式。



文章来源: DATENAME(MONTH,GETADATE()) is returning numeric value of the month as '09'