Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

datum in spanisch umwandeln in sql

Vielleicht ist es umständlich, aber ich sehe keinen einfacheren Weg.

Erstellen Sie zuerst eine Funktion. Diese Funktion verwendet system view sys .sysSprachen um den korrekten Namen des Monats auf Spanisch zu erhalten. Parameter sind ein gültiges Datum und eine gültige Sprache (Alias ​​in der Ansicht 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

Rufen Sie dann die Funktion überall dort auf, wo Sie sie benötigen:

SELECT CONVERT(VARCHAR(20), GETDATE(), 100) AS CurrentDate,
       dbo.fn_GetMonthName (GETDATE(), 'Spanish') AS [Mes-Month]

Ergebnis:

      CurrentDate       Mes-Month
 May 24 2013 12:02AM      Mayo

Aus Get Language specific Month Name aus SQL