Có thể là rườm rà, nhưng tôi không thấy làm thế nào để làm điều đó một cách dễ dàng hơn.
Đầu tiên, hãy tạo một hàm. Hàm này sẽ sử dụng hệ thống chế độ xem hệ thống .syslanguages để có được tên chính xác của tháng bằng tiếng Tây Ban Nha. Các thông số là ngày và ngôn ngữ hợp lệ (bí danh trên chế độ xem sys.syslanguage).
CREATE FUNCTION [dbo].[fn_GetMonthName] (
@Date DATETIME,
@Language NVARCHAR(100)
)
RETURNS NVARCHAR(400)
AS
BEGIN
DECLARE @i INT, @m INT,@mlist NVARCHAR(1000)
SET @m = MONTH(@Date)
SET @mlist = (SELECT months FROM sys.syslanguages WHERE ALIAS = @language)
SET @i = 1
WHILE(@i < @m)
BEGIN
SET @mlist = REPLACE(@mlist, SUBSTRING(@mlist,1,CHARINDEX(',',@mlist)) ,'')
SET @i = @i + 1
END
SET @mlist = (CASE CHARINDEX(',',@mlist) WHEN 0 THEN @mlist ELSE SUBSTRING(@mlist,0,CHARINDEX(',',@mlist) ) END )
RETURN @mlist
END
GO
Sau đó, gọi hàm ở bất kỳ đâu bạn cần:
SELECT CONVERT(VARCHAR(20), GETDATE(), 100) AS CurrentDate,
dbo.fn_GetMonthName (GETDATE(), 'Spanish') AS [Mes-Month]
Kết quả:
CurrentDate Mes-Month
May 24 2013 12:02AM Mayo
Lấy từ Lấy tháng theo ngôn ngữ cụ thể Tên từ SQL