Comment obtenir le temps pour une valeur donnée datetime
?
J'ai un datetime
dans la base de données comme ceci:
2010-09-06 17:07:28.170
et ne veulent que la portion de temps:
17:07:28.170
Y at-il une fonction pour cela ou quelque chose?
Juste pour ajouter que, à partir de SQL Server 2008, il existe un type de données TIME, vous pouvez donc désormais:
SELECT CONVERT(TIME, GETDATE())
Cela pourrait être utile pour ceux qui utilisent SQL 2008+ et trouvent cette question.
Dans le cas de SQL Server, cela devrait fonctionner
SELECT CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond
Essaye ça
SELECT CAST(DataField AS time(7)) AS 'time'
En supposant que le titre de votre question est correct et que vous voulez l'heure:
SELECT CONVERT(char,GETDATE(),14)
Édité pour inclure la milliseconde.
CAST(CONVERT(CHAR(8),GETUTCDATE(),114) AS DATETIME)
DANS SQL Server 2008+
CAST(GETUTCDATE() AS TIME)