将getdate()转换为yyyy-mm-ddThh:mm:ssZ

时间:2018-06-22 13:20:41

标签: sql sql-server date

我正在使用Microsoft SQL Server 我尝试将获取日期转换为以下格式:

yyyy-mm-ddThh:mm:ssZ

我尝试像这样在varchar上使用功能CONVERT this date:

select CONVERT(varchar, CONVERT(NVARCHAR, getdate(), 127))

今天,当我执行此请求时,结果是:

2018-06-22T15:18:13.463

如何以getdate()格式使用此yyyy-mm-ddThh:mm:ssZ

谢谢

2 个答案:

答案 0 :(得分:0)

唯一可以更改格式的方法是将日期转换为具有类似内容的字符串...

SELECT CONVERT(varchar(50), getdate(), 127)

人们通常要做的是以原始日期格式存储和处理日期,然后在导出或客户端检索(例如通过网站,Web服务,胖客户端等)之前将其转换为演示格式。

答案 1 :(得分:-3)

        -- ================================================
        -- Template generated from Template Explorer using:
        -- Create Scalar Function (New Menu).SQL
        --
        -- Use the Specify Values for Template Parameters 
        -- command (Ctrl-Shift-M) to fill in the parameter 
        -- values below.
        --
        -- This block of comments will not be included in
        -- the definition of the function.
        -- ================================================
        SET ANSI_NULLS ON
        GO
        SET QUOTED_IDENTIFIER ON
        GO
        -- =============================================
        -- Author:      <Author,,Name>
        -- Create date: <Create Date, ,>
        -- Description: <Description, ,>
        -- =============================================
        CREATE FUNCTION getdateJSON()
        RETURNS nvarchar(50)
        AS
        BEGIN
            DECLARE @ret as nvarchar(50);

            select @ret = CONVERT(varchar, CONVERT(NVARCHAR, getdate(), 127));

            Return @ret;

        END
        GO

然后

          select dbo.getdateJSON();