См. Изображение ниже. Столбец UpdateDate показывает datetime, содержащий текст AM. Но CreateDate показывает datetime, текст PM не отображается.
эти 2 столбца создаются автоматически, а тип данных - DateTime. Дата обновления: 19.08.2010 10:27:20 Дата создания: 13.08.2010 13:59:00 [но PM не отображается]
см. изображение:
Если PM не отображается, «13.08.2010 1:59:00» будет обозначено кодом C # как «13.08.2010 1:59:00 AM».
Сервер - это Sql Server R2. До сегодняшнего дня всегда нормально. Только последняя ночь, как показано на рисунке ниже.
Я считаю, что это ошибка Sql Server R2.
Может ли кто-нибудь сказать мне, почему и как этого избежать?
Большое вам спасибо!
DateTime не хранит ни AM, ни PM, это общая дата и время, которые независимо от этого будут распознаваться в C #.
Если вам нужно отображать AM или PM, это зависит от того, как вы позволяете C # или чему-то другому отображать вывод - это не часть того, как он хранится (если вы не сохраняете его как строку). Кроме того, если вы не укажете, как форматировать отображение / вывод - он может адаптироваться / меняться в зависимости от языкового стандарта сервера или клиента.
Если снимок экрана взят только из MS SQL 2008 R2 Management Studio, я на время отказался от него, в прошлом месяце он был невероятно насыщен ошибками.