#tsql #datetime #varchar
#tsql #дата и время #varchar
Вопрос:
Есть ли какой-либо способ, которым я могу преобразовать значение DateTime SQL этого:
2011-10-11 00:00:00.000
в строку, отформатированную точно так же?
'2011-10-11 00:00:00.000'
Я пытался сделать cast(fl_from_dt as varchar(50)
, но он преобразует его во что-то читаемое — например. 'Oct 11 2011 12:00AM'
Ответ №1:
Используете ли вы SQLServer?
Взгляните на style
параметр CONVERT()
здесь: http://msdn.microsoft.com/en-us/library/ms187928.aspx — в частности, взгляните на канонический формат ODBC (с миллисекундами).
Для краткости вы должны использовать style
121 в CONVERT()
команде.
Стиль: 121
Канонический ODBC (с миллисекундами) по умолчанию для time, date, datetime2 и datetimeoffset
гггг-мм-дд чч: mi: ss.mmm(24 часа)
Комментарии:
1. Спасибо! Даже не знал об этом.
Ответ №2:
Попробуйте это!
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'