SQL 将时间转换为毫秒

SQL convert time to milliseconds

我有这个持续时间:00:00:23.323 我想将它在 sql 中转换为毫秒。

编辑:// 我试过了,但不是很好:

SELECT  (DATEPART(hh,'12:13:14.123') * 60 * 60 * 1000)
SELECT  (DATEPART(n,'12:13:14.123') * 60 * 1000)
SELECT  (DATEPART(s,'12:13:14.123') * 1000)
SELECT  DATEPART(ms,'12:13:14.123')

它是如何工作的?

感谢您的回答。

您可以使用日期部分功能。 像这样

select DATEPART(MILLISECOND,GETDATE())+DATEPART(second,getdate())*1000

使用DATEDIFF:

SELECT DATEDIFF(MILLISECOND, 0, '00:00:23.323')

结果:

23323

我明白了,这不是很好的方法,但它有效:

SELECT (DATEPART(hh,'00:00:23.323') * 60 * 60 * 1000) + (DATEPART(n,'00:00:23.323') * 60 * 1000) + (DATEPART(s,'00:00:23.323') * 1000) + DATEPART(ms,'00:00:23.323') AS 'DurationInMillis'