Начиная с SQL Server 2012, вы можете использовать FORMAT и DATEFROMPARTS для решения этой проблемы. (Если вам нужны названия месяцев из других культур, измените: en-US
)
select FORMAT(DATEFROMPARTS(1900, @month_num, 1), 'MMMM', 'en-US')
Если вы хотите трехбуквенный месяц:
select FORMAT(DATEFROMPARTS(1900, @month_num, 1), 'MMM', 'en-US')
Если вы действительно хотите, вы можете создать функцию для этого:
CREATE FUNCTION fn_month_num_to_name
(
@month_num tinyint
)
RETURNS varchar(20)
AS
BEGIN
RETURN FORMAT(DATEFROMPARTS(1900, @month_num, 1), 'MMMM', 'en-US')
END