62 votes

Obtenir le temps d'un datetime en TSQL?

comment pourrais-je faire cela? J'ai un datetime en DB comme ceci: 2010-09-06 17:07:28.170

Ce que je veux, c'est seulement à 17:07:28.170. Est-il une fonction pour ça, ou quelque chose?

Merci :-)

93voto

AdaTheDev Points 53358

Juste pour ajouter qu'à partir de SQL Server 2008, il y a un TEMPS de type de données, donc à partir de là, vous pouvez le faire:

SELECT CONVERT(TIME, GETDATE())

Peut être utile pour ceux qui utilisent SQL 2008+ et de trouver cette question.

20voto

InSane Points 7832

Dans le cas de SQL Server, cela devrait fonctionner

SELECT CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond

11voto

maurox Points 364

Essayez ceci

SELECT CAST(DataField AS time(7)) AS 'time'

http://msdn.microsoft.com/en-us/library/bb677243.aspx

10voto

Michael Shimmins Points 12740

En supposant que le titre de votre question est correcte et que vous voulez le temps:

SELECT CONVERT(char,GETDATE(),14) 

Modifié pour inclure de la milliseconde.

5voto

Simmo Points 2364
CAST(CONVERT(CHAR(8),GETUTCDATE(),114) AS DATETIME)

DANS SQL Server 2008+

CAST(GETUTCDATE() AS TIME)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X