Mungkin rumit, tetapi saya tidak melihat cara melakukannya dengan cara yang lebih mudah.
Pertama, buat fungsi. Fungsi ini akan menggunakan sistem tampilan sistem .syslanguages untuk mendapatkan nama bulan yang benar dalam bahasa Spanyol. Parameter adalah tanggal dan bahasa yang valid (alias pada tampilan 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
Kemudian panggil fungsi di mana saja Anda perlu:
SELECT CONVERT(VARCHAR(20), GETDATE(), 100) AS CurrentDate,
dbo.fn_GetMonthName (GETDATE(), 'Spanish') AS [Mes-Month]
Hasil:
CurrentDate Mes-Month
May 24 2013 12:02AM Mayo
Diambil dari Dapatkan Bahasa Bulan tertentu Nama dari SQL