2017-10-10 116 views
1

我正在使用以下语句将日期和时间从一列分为两列。我得到了这样的结果。日期和时间更改sql

AppointmentDate AppointmentTime 
10/11/2017  08:30:00.0000000 
10/11/2017  16:50:00.0000000 

我该如何获得非军事时间和没有秒和毫秒的时间?或者,如果这是不可能的,只需删除秒和毫秒?

SELECT 
    CONVERT(varchar(19),ScheduleEntry.ScheduleDate,101) as AppointmentDate, 
    CONVERT(time,ScheduleEntry.ScheduleDate) as AppointmentTime 
+0

你想要12小时制还是24小时制? – chaosifier

+0

@chaosifier 12hr时间会很棒,如果不是24小时 –

回答

0

为12小时格式,请使用:

SELECT format(getdate(), 'hh:mm tt'); 

而对于24小时制,使用:

SELECT format(getdate(), 'HH:mm'); 

下面是格式化的日期 - 时间一些其他的方法:

SELECT format(getdate(), 'yyyy/MM/dd hh:mm tt'); -- 2017/10/10 06:30 PM 

SELECT format(getdate(), 'yyyy/MM/dd HH:mm'); -- 2017/10/10 18:30 

SELECT convert(varchar, getdate(), 100) -- mon dd yyyy hh:mmAM 

SELECT convert(varchar, getdate(), 101) -- mm/dd/yyyy – 10/02/2008     

SELECT convert(varchar, getdate(), 102) -- yyyy.mm.dd – 2008.10.02   

SELECT convert(varchar, getdate(), 103) -- dd/mm/yyyy 

SELECT convert(varchar, getdate(), 104) -- dd.mm.yyyy 

SELECT convert(varchar, getdate(), 105) -- dd-mm-yyyy 

SELECT convert(varchar, getdate(), 106) -- dd mon yyyy 

SELECT convert(varchar, getdate(), 107) -- mon dd, yyyy 

SELECT convert(varchar, getdate(), 108) -- hh:mm:ss 

SELECT convert(varchar, getdate(), 109) -- mon dd yyyy hh:mm:ss:mmmAM (or PM) 

SELECT convert(varchar, getdate(), 110) -- mm-dd-yyyy 

SELECT convert(varchar, getdate(), 111) -- yyyy/mm/dd 

SELECT convert(varchar, getdate(), 112) -- yyyymmdd 

SELECT convert(varchar, getdate(), 113) -- dd mon yyyy hh:mm:ss:mmm 

SELECT convert(varchar, getdate(), 114) -- hh:mm:ss:mmm(24h) 

SELECT convert(varchar, getdate(), 120) -- yyyy-mm-dd hh:mm:ss(24h) 

SELECT convert(varchar, getdate(), 121) -- yyyy-mm-dd hh:mm:ss.mmm 

SELECT convert(varchar, getdate(), 126) -- yyyy-mm-ddThh:mm:ss.mmm 

我希望这有助于。

+0

谢谢。我知道这一点。我只是不知道如何修改声明以获得我想要的内容。仅供参考where子句是WHERE datediff(d,getdate(),ScheduleDate)= 1。今天明天我要预约。 –

+0

@JohnMolina我已经更新了答案。请看看,并接受这个答案,如果它解决了你的问题。 – chaosifier