Sql 如何将字符串转换为时间格式?

Sql 如何将字符串转换为时间格式?,sql,tsql,sql-server-2005,time-format,Sql,Tsql,Sql Server 2005,Time Format,我在SQLServer2005中有一个varchar列,它将时间存储为1420,但我希望它在报告中显示为下午14:20或02:20。请帮助..试试这样的方法 DECLARE @tbl TABLE (t VARCHAR(10)) INSERT @tbl SELECT '1420' UNION SELECT '1545' SELECT LEFT(t, 2) + ':' + RIGHT(t, 2) FROM @tbl 输出 14:20 15:45 它没有指向我的问题,因为我使用的是sql ser

我在SQLServer2005中有一个varchar列,它将时间存储为1420,但我希望它在报告中显示为下午14:20或02:20。请帮助..

试试这样的方法

DECLARE @tbl TABLE (t VARCHAR(10))
INSERT @tbl
SELECT '1420' UNION
SELECT '1545'

SELECT LEFT(t, 2) + ':' + RIGHT(t, 2)
FROM @tbl
输出

14:20
15:45

它没有指向我的问题,因为我使用的是sql server 2005,但sql 2008中引入了时间函数。其次,我以1420格式存储了值。您可以通过添加对上午10点之前的时间的支持来改进此答案:例如。815@ShahidMehmood,请投赞成票或/并将其标记为答案,如果它对您有帮助,那么其他人可以从中获得一些好处。