sql >> Database teknologi >  >> RDS >> Sqlserver

konverter dato til spansk i sql

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



  1. hvorfor ses `tcgetattr`-fejlen, når ssh bruges til at dumpe backup-filen på en anden server?

  2. Mysql øger automatisk en kolonne med én specifik primærnøgle

  3. Hvordan programmerer man et afstemningssystem?

  4. Sådan indsætter du en streng i en anden streng i SQL Server ved hjælp af STUFF()