我正在SQL server 2012中进行查询,我需要获取日期时间格式为01/03/2017 16:06:21 AM。
我该怎么做?
答案 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