【问题标题】:convert date time in SQL Server在 SQL Server 中转换日期时间
【发布时间】:2017-02-20 06:28:54
【问题描述】:

在 SQL Server 中,日期以下列格式保存:-

2017-02-20 05:59:58.537

但我需要以下格式的输出:

20/Feb/2017 11:29:58 AM

【问题讨论】:

标签: sql sql-server sql-server-2008 sql-server-2012


【解决方案1】:

试试这个

select  replace(convert(varchar(11),GETDATE(),113), ' ', '/')+ ' '+    RIGHT(CONVERT(varchar(20), GETDATE(), 22), 11);

【讨论】:

  • @Asad:如果一个答案解决了你的问题,你应该接受它,这样其他人就会知道问题已经解决了。
  • @zohar 查询在 12 点后 12 小时后无法正常工作,它应该在下午 1:10:15 出现,但现在显示为下午 13:10:15 .. 我们可以在其中添加 AM 和 PM 24 小时制?
【解决方案2】:

试试这个,

SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')+' '+right(getdate(),7)

【讨论】:

  • 感谢您的回复,但它没有按照给出的问题得到输出。缺少的是“秒”
【解决方案3】:
Try below conversion method :

 DECLARE @DATE DATETIME = '2017-02-20 05:59:58.537'
 SELECT REPLACE(CONVERT(VARCHAR(11),@DATE,113), ' ', '/') + ' ' 
 +CONVERT(VARCHAR(20),@DATE,108)+' ' +RIGHT(@DATE,2)

【讨论】:

    【解决方案4】:

    SQL 按照默认设置 (yyyy-mm-dd hh:mm:ss:ms) 存储日期。在获取该日期时,您需要根据您的要求转换该日期。

    Try this

    【讨论】:

    【解决方案5】:

    我有一个我使用的日期函数,您也可以修改它以包含小时、分钟和秒的详细信息。

    CREATE FUNCTION [dbo].[fn_DateDisplay]
    (
        -- Add the parameters for the function here
        @dateIn date
    )
    RETURNS nvarchar(MAX)
    AS
    BEGIN
        -- Declare the return variable here
        DECLARE @dateOut nvarchar(MAX)
    
        DECLARE @yearIn int
        DECLARE @monthIn int
        DECLARE @dayIn int
    
        DECLARE @monthOut nvarchar(3)
    
        -- Add the T-SQL statements to compute the return value here
        SET @yearIn = YEAR ( @dateIn ) 
        SET @monthIn = MONTH ( @dateIn ) 
        SET @dayIn = DAY ( @dateIn ) 
    
        SET @monthOut = SUBSTRING ( DATENAME ( MONTH , @dateIn ) , 1 , 3 )
    
        SET @dateOut = CONCAT ( @dayIn , ' ' , @monthOut , ' ' , @yearIn )
    
        -- Return the result of the function
        RETURN @dateOut
    
    END
    

    【讨论】:

      【解决方案6】:

      正确答案:

      SELECT REPLACE(CONVERT(VARCHAR(11), getdate(), 113), ' ', '/') + ' ' + CONVERT(VARCHAR(20), CONVERT(TIME, getdate()), 22)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-03
        • 2013-10-30
        相关资源
        最近更新 更多