sql >> Databasteknik >  >> RDS >> Sqlserver

konvertera datum till spanska i sql

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



  1. Rails skapar schema_migrations - Mysql2::Fel:Den angivna nyckeln var för lång

  2. Vilken strukturtyp använder jag för HTML-innehåll (MySQL)

  3. JDBC Batch exekverar extremt långsamt

  4. php display multilevel treenode meny