Måske er det besværligt, men jeg kan ikke se, hvordan man gør det på en nemmere måde.
Først skal du oprette en funktion. Denne funktion vil gøre brug af system view sys .syslanguages for at få det korrekte navn på måneden på spansk. Parametre er en gyldig dato og sprog (alias på sys.syslanguage view).
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
Kald derefter funktionen hvor som helst du skal:
SELECT CONVERT(VARCHAR(20), GETDATE(), 100) AS CurrentDate,
dbo.fn_GetMonthName (GETDATE(), 'Spanish') AS [Mes-Month]
Resultat:
CurrentDate Mes-Month
May 24 2013 12:02AM Mayo
Taget fra Få sprogspecifik måned Navn fra SQL