SQL Server中的月份名称

时间:2012-11-22 15:50:38

标签: sql sql-server

SQL Server中是否有内置函数可以返回逐个月份的波兰语(或任何其他语言)名称?或者我需要编写自己的函数吗?

例如

GetMonthName(11) => Listopad (November)

1 个答案:

答案 0 :(得分:6)

您可以使用函数Month或datepart“month”从日期/时间返回月份编号。然后您可以使用DATENAME功能:

SELECT DATENAME(month, GETDATE()) AS 'Month Name'

返回值取决于使用SET LANGUAGE设置的语言环境以及用于登录的“配置默认语言”服务器配置选项。

根据Jacek的评论,这可以概括为:

SET LANGUAGE Polish SELECT DATENAME(month, GETDATE()) AS 'Month Name'

如果您拥有的只是一个月号,则需要构建一个包含此月份数的日期时间变量,以便您可以应用上述方法。在SQL Server 2012中,您可以使用DATETIMEFROMPARTS

SELECT @RandomDate = DATETIMEFROMPARTS(2012, @MonthNumber, 1, 1, 1, 1, 0) 
SET LANGUAGE Polish SELECT DATENAME(month, @RandomDate) AS 'Month Name'