Kanske är krångligt, men jag ser inte hur man gör det på ett enklare sätt.
Skapa först en funktion. Den här funktionen kommer att använda systemvy sys .syslanguages för att få rätt månadsnamn på spanska. Parametrar är ett giltigt datum och språk (alias i sys.syslanguage-vyn).
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
Anropa sedan funktionen var som helst du behöver:
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 från Hämta språkspecifik månad Namn från SQL