Назад | Перейти на главную страницу

Почему SQL Server DateTime показывает AM, но не показывает PM?

См. Изображение ниже. Столбец 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, я на время отказался от него, в прошлом месяце он был невероятно насыщен ошибками.