Domanda SQL convertire il tempo in millisecondi


Ho questa durata: 00:00:23.323 Voglio convertirlo in sql in millisecondi.

MODIFICARE:// Ho provato questo, ma non è molto bello:

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')

Come funziona?

Grazie per le tue risposte.


10
2017-09-16 07:23


origine


risposte:


Uso DATEDIFF:

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

Risultato:

23323

21
2017-09-16 07:59



L'ho capito, non è il modo carino ma funziona:

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'

2
2017-09-16 08:01



Puoi usare la funzione datepart. come questo

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

1
2017-09-16 07:38