如何在SQL Server中获取日期时间01/03/2017 16:06:21 AM格式

时间:2017-03-14 15:22:32

标签: sql sql-server datetime sql-convert

我正在SQL server 2012中进行查询,我需要获取日期时间格式为01/03/2017 16:06:21 AM。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

如果您确实希望使用AM / PM进行24小时格式化,并且只想使用Convert执行此操作,请尝试:

表示mm / dd / yyyy HH:mm:ss AM

select convert(varchar(10),getdate(),101) + ' ' 
+ convert(varchar(8),getdate(),114) + ' ' 
+ RIGHT( convert(varchar,getdate(),9),2)

对于dd / mm / yyyy HH:mm:ss AM

select convert(varchar(10),getdate(),103) + ' ' 
+ convert(varchar(8),getdate(),114) + ' ' 
+ RIGHT( convert(varchar,getdate(),9),2)

答案 1 :(得分:0)

在sql server 2012+中,您可以使用format()

对于dd / MM:

select format(getdate(), 'dd/MM/yyyy hh:mm:ss tt')

for MM / dd:

select format(getdate(), 'MM/dd/yyyy hh:mm:ss tt')

对于24小时格式,请切换为HH而不是hh,但为什么需要AM / PM?

对于dd / MM:

select format(getdate(), 'dd/MM/yyyy HH:mm:ss tt')

for MM / dd:

select format(getdate(), 'MM/dd/yyyy HH:mm:ss tt')

答案 2 :(得分:0)

试用此代码并将数字更改为格式

Select  CONVERT(VARCHAR,GETDATE(),21)
//OutPut---------------
21=2017-03-14 19:17:28
//-----------------------------
  0=Mar 14 2017  7:17PM
    1=03/14/17
    2=17.03.14
    3=14/03/17
    4=14.03.17
    5=14-03-17
    6=14 Mar 17
    7=Mar 14, 17
    8=19:17:28
    9=Mar 14 2017  7:17:28:467PM
    10=03-14-17
    11=17/03/14
    12=170314
    13=14 Mar 2017 19:17:28:470
    14=19:17:28:473
    20=2017-03-14 19:17:28
    21=2017-03-14 19:17:28.477
    22=03/14/17  7:17:28 PM
    23=2017-03-14
    24=19:17:28
    25=2017-03-14 19:17:28.480
    100=Mar 14 2017  7:17PM
    101=03/14/2017
    102=2017.03.14
    103=14/03/2017
    104=14.03.2017
    105=14-03-2017
    106=14 Mar 2017
    107=Mar 14, 2017
    108=19:17:28
    109=Mar 14 2017  7:17:28:497PM
    110=03-14-2017
    111=2017/03/14
    112=20170314
    113=14 Mar 2017 19:17:28:503
    114=19:17:28:503