Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

chuyển đổi ngày sang tiếng Tây Ban Nha bằng sql

Có thể là rườm rà, nhưng tôi không thấy làm thế nào để làm điều đó một cách dễ dàng hơn.

Đầu tiên, hãy tạo một hàm. Hàm này sẽ sử dụng hệ thống chế độ xem hệ thống .syslanguages ​​ để có được tên chính xác của tháng bằng tiếng Tây Ban Nha. Các thông số là ngày và ngôn ngữ hợp lệ (bí danh trên chế độ xem 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

Sau đó, gọi hàm ở bất kỳ đâu bạn cần:

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

Kết quả:

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

Lấy từ Lấy tháng theo ngôn ngữ cụ thể Tên từ 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. Số lượng SSIS của Biến đối tượng?

  2. Cách định dạng số bằng dấu phẩy trong SQL Server

  3. 3 phương pháp để xây dựng lại tất cả các chỉ mục cho tất cả các bảng với T-SQL trong cơ sở dữ liệu SQL Server

  4. kích hoạt và giao dịch trên các bảng tạm thời

  5. làm thế nào để nhận dữ liệu của tuần hiện tại chỉ trong máy chủ SQL?