使用SQL将时间转换为12小时格式

时间:2016-04-28 13:32:21

标签: sql sql-server datetime

我有一个脚本,我用来填充时间维度表,我希望有一个12小时格式的时间列。

我知道这可以通过做一些基于

的事情来完成
SELECT CONVERT(varchar(15),[FullTime],100)

其中[FullTime]是包含HH:MM:SS格式的TIME字段的列。

但是这会得到以下结果2:30pm,我希望2:30:47PM,请注意包含秒。

我知道我可以使用子串等来构建它。但我想知道是否有一种更漂亮的方法。

由于

3 个答案:

答案 0 :(得分:0)

SELECT GETDATE() 'Today', 
       CONVERT(VARCHAR(8), [FullTime], 108) 'hh:mi:ss'

Taken from here

这将为您提供一个“今天”列,然后是您寻找的时间值'hh:mi:ss'

答案 1 :(得分:0)

Declare @tstTime datetime
set @tstTime = GetDate()

Select
@tstTime
,CONCAT(SUBSTRING(CONVERT(varchar(26), @tstTime, 109),1,20),RIGHT(CONVERT(varchar(26), @tstTime, 109),2))

答案 2 :(得分:0)

如果毫秒也不是问题,可以使用

SELECT CONVERT(VARCHAR, [FullTime], 109)