如何在sql中检查12小时格式的时差?

时间:2016-09-29 07:27:00

标签: sql oracle sql-server-2008

我有时间08:30 am varchar格式在sql表中所以我希望两次在相同的HH:MM AM / PM格式之间的时间差.... 我怎么检查???任何人都可以帮助我????

1 个答案:

答案 0 :(得分:0)

尝试使用以下脚本(对于sql server)。

DECLARE @a VARCHAR(8)='08:30 PM'
DECLARE @b VARCHAR(8)='12:50 AM'
DECLARE @null time='00:00:00';

- 12小时(我认为这在逻辑上是错误的)

SELECT CONVERT(VARCHAR(15),DATEADD(SECOND, - DATEDIFF(SECOND, cast(@b as time), cast(@a as time)), @null),100)

- 获得小时和分钟的差异

SELECT CAST(DATEADD(SECOND, - DATEDIFF(SECOND, cast(@b as time), cast(@a as time)), @null) as VARCHAR(5))

<强>输出: enter image description here