SQL Server 中是否有一个内置函数可以逐月返回我的波兰语(或任何其他语言)名称?还是需要我编写自己的函数?
例如
GetMonthName(11) => Listopad (November)
SQL Server 中是否有一个内置函数可以逐月返回我的波兰语(或任何其他语言)名称?还是需要我编写自己的函数?
例如
GetMonthName(11) => Listopad (November)
您可以使用函数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'