sql >> Database >  >> RDS >> Sqlserver

converteer datum naar spaans in sql

Misschien is het omslachtig, maar ik zie niet hoe ik het op een eenvoudigere manier kan doen.

Maak eerst een functie aan. Deze functie maakt gebruik van system view sys .syslanguages om de juiste naam van de maand in het Spaans te krijgen. Parameters zijn een geldige datum en taal (alias in de weergave 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

Roep de functie vervolgens aan waar u maar wilt:

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

Resultaat:

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

Overgenomen van Taalspecifieke maand ophalen Naam uit SQL



  1. SELECT ... WHERE ... IN ... uitvoeren met MySQLdb

  2. Hoe SQL-query's versnellen? Indexen?

  3. dayname(curdate()) werkt NIET in codeigniter php

  4. 3 tabellen/query's samenvoegen met MS Access Union Query