我有24小时的栏目,我需要将其更改为12小时,请帮忙。
Start time
174300
035800
023100
结果应为
Start time
05.43 PM
03.58 AM
02.31 AM
答案 0 :(得分:1)
使用STUFF
函数将字符串转换为Time
格式
SELECT CONVERT(VARCHAR,CAST(STUFF(STUFF(ColumnName,3,0,':'),6,0,':') AS TIME),100)
答案 1 :(得分:0)
使用上述示例之一 - 以下内容将起作用。 您需要将数据拆分为小时/分钟并将其转换为时间格式,而不是将其转换为相关类型:
declare @data int
set @data = 174300
select convert(VARCHAR(15),cast(cast(left(@data, 2 )as varchar(2)) + ':' + cast(substring(cast(@data as nvarchar(6)), 3,2 )as varchar(2) ) as time),100)
答案 2 :(得分:0)
不要将时间存储为varchar,而是更改表并将列类型更改为datetime。
SELECT right(convert(varchar(25), Start Time, 100), 7)
你在函数中看到的100
指定了日期格式mon dd yyyy hh:miAM(或PM),从那里我们只需抓住正确的字符。
您可以详细了解如何转换日期时间here.