2011-10-10 3 views
0

Est-il possible que je peux convertir la valeur SQL DateTime de ceci:Conversion date/heure dans sql à chaîne

2011-10-11 00:00:00.000 

à une chaîne formatée exactement la même chose?

'2011-10-11 00:00:00.000' 

J'ai essayé de faire cast(fl_from_dt as varchar(50) mais il convertit à quelque chose lisible - ex. 'Oct 11 2011 12:00AM'

Répondre

4

Utilisez-vous SqlServer?

Jetez un oeil au paramètre style de CONVERT() ici: http://msdn.microsoft.com/en-us/library/ms187928.aspx - en particulier, ont un regard sur le canonique (avec millisecondes) ODBC format. Pour plus de détails, vous devez utiliser style 121 dans la commande CONVERT().

Style: 121

ODBC canonique (avec millisecondes) par défaut pour le temps, la date, datetime2 et datetimeoffset

aaaa-mm-jj hh: mi: SS.mmm (24h)

+0

Merci! N'était même pas au courant de ça. – slandau

0

Essayez celui-ci!

select CONVERT(VARCHAR(10), GETDATE(), 112) 
+ right('0'+cast(datepart(hh, GETDATE()) as varchar(2)),2) 
+ right('0'+cast(datepart(mi, GETDATE()) as varchar(2)),2) 
+ right('0'+cast(datepart(ss, GETDATE()) as varchar(2)),2) as 'DateTime_STR2'