sql >> Databáze >  >> RDS >> Sqlserver

převést datum na španělštinu v sql

Možná je to těžkopádné, ale nevím, jak to udělat jednodušším způsobem.

Nejprve vytvořte funkci. Tato funkce bude využívat systém zobrazení systému .syslanguages získat správný název měsíce ve španělštině. Parametry jsou platné datum a jazyk (alias v zobrazení 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

Poté funkci zavolejte kamkoli potřebujete:

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

Výsledek:

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

Převzato z Získat měsíc pro konkrétní jazyk Název z SQL



  1. Jak mohu shrnout data ve stromové struktuře v SQL od dětí po rodiče?

  2. MySQL se dotazuje na vícerozměrné pole php

  3. Django – OperationalError:(1054, neznámý sloupec 'xx' v 'seznamu polí')

  4. Zobrazení obrázku v Ireports pomocí PostgreSql