Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

конвертиране на дата на испански в sql

Може би е тромаво, но не виждам как да го направя по по-лесен начин.

Първо създайте функция. Тази функция ще използва system view sys .syslanguages за да получите правилното име на месеца на испански. Параметрите са валидна дата и език (псевдоним в изгледа 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

След това извикайте функцията навсякъде, където трябва:

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

Резултат:

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

Взето от Вземете специфичен за езика месец Име от SQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Прикачете множество бази данни с помощта на T-SQL

  2. Размер на типа данни на променлива в sql

  3. PHP sqlsrv_connect към SQL Server:Възникна грешка, свързана с мрежата или специфична за екземпляр, при установяване на връзка към SQL Server

  4. Pyodbc:Грешка при изчакване при влизане

  5. Как се нарича съхранена процедура в SSIS?