У меня есть SQL Server 2005 и таблица с 2 столбцами типа datetime
.SQL Server 2005. Конвертировать (nvarchar, my_datetime_column, 126). Отсутствует миллисекунды
Мой запрос:
select
DocDate,
CONVERT(nvarchar, DocDate, 126),
_stamp,
CONVERT(nvarchar, _stamp, 126)
from
dochead
where
id = 4493130
Результат:
DocDate (no column name) _stamp (no column name)
2011-08-31 00:00:00.000 2011-08-31T00:00:00 2011-08-31 16:01:17.243 2011-08-31T16:01:17.243
Как вы можете видеть, второй столбец не имеет миллисекунды. Зачем?
Вы должны всегда указывать ** длину ** для своего столбца '(n) varchar'! В противном случае у вас может получиться 1-символьная длинная строка в какой-то момент .... поэтому используйте 'CONVERT (VARCHAR (50), ...)' или что-то в этом роде - просто хорошая привычка принимать –
Почему вы считайте важным, чтобы миллисекунды были включены, когда они равны 0? –