Comment puis-je convertir @lastEndTime en une chaîne formalisée YYYY-MM-DD HH:MM:SS.MS
?Microsoft SQL Server 2005 transtypage date/heure en chaîne
DECLARE @lastEndTime datetime
Comment puis-je convertir @lastEndTime en une chaîne formalisée YYYY-MM-DD HH:MM:SS.MS
?Microsoft SQL Server 2005 transtypage date/heure en chaîne
DECLARE @lastEndTime datetime
CONVERT(nvarchar, @lastEndTime, 121)
vraiment horriblement, pour obtenir un format précis, vous devez utiliser la fonction datepart et construire.
select datepart(yyyy, @lastEndTime) + '-' + datepart(mm, @lastEndTime) + '-' + datepart(dd, @lastEndTime) +' ' + datepart(hh, @lastEndTime) + ':' + datepart(mm, @lastEndTime) + ':' + datepart(ss, @lastEndTime) + '.' + datepart(ms,@lastEndTime)
Vous pouvez le définir comme un function pour la facilité d'utilisation bien.
Edit - comme on l'a souligné, ce format se trouve être une norme -
ODBC canonique siCONVERT(CHAR(23), @lastEndTime, 121)
devrait le faire.
Consultez la documentation MSDN Books Online pour CAST and CONVERT - il contient une liste complète de tous les formats de date intégrés pris en charge que vous pouvez utiliser avec CONVERT.
E.g.
CONVERT(VARCHAR(50), GETDATE(), 100)
convertira la date d'aujourd'hui et le temps d'une chaîne dans le format mon dd yyyy hh:miAM (or PM)
.
Si votre chaîne ne correspond pas à l'un de ces formats, alors vous devez soit
DATEPART
pour extraire des morceaux de votre DATETIME et concaténer qui, ensemble, manuellementDECLARE @lastEndTime datetime set @lastEndTime = getdate()
select convert (varchar, @ lastEndTime, 121)
Pour plus de style http://msdn.microsoft.com/en-us/library/ms187928.aspx
@jfrobishow: une erreur unique ici, je suppose. La variante avec millisecondes est '121'. –
beurk qui suce – Kevin
ouais, ça fait. Heureusement, vous n'avez pas à le faire pour le format canonique ODBC ci-dessus. –
bon point @andras - c'est 121 je pense. Je me suis tellement habitué à faire des formats bizarres que je l'ai toujours fait manuellement (ce qui est évidemment mal quand il s'agit de performance). Doit mettre à jour la réponse. –