web-dev-qa-db-fra.com

SQL convertit le temps en millisecondes

J'ai cette durée: 00:00:23.323 Je veux le convertir en sql en millisecondes.

EDIT: // J'ai essayé mais ce n'est pas très sympa:

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

Comment ça marche?

Merci pour vos réponses.

14
Lingo

Utilisez DATÉ :

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

Résultat:

23323
27
t-clausen.dk

Je l'ai, ce n'est pas la bonne façon mais ça marche:

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
Lingo

Vous pouvez utiliser la fonction datepart. comme ça

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