2

У этого вопроса есть две стороны: SQL Server и Excel. Я задаю этот вопрос на форуме Excel, потому что я почти уверен, что это связано со стороной Excel.

У меня есть оператор выбора SQL Server, который возвращает - среди прочего - столбец в формате [дд-мм-гггг]. Все выглядит хорошо в SQL Server Management Studio, и когда я экспортирую его в CSV и просматриваю в блокноте. Но независимо от того, копирую я и вставляю в Excel (Professional Plus 2013) или импортирую файл в Excel, возникает один и тот же симптом: случайные даты преобразуются из формата [дд-мм-гггг] в формат [м / д / гггг].

Мое требование состоит в том, чтобы предоставить этот отчет в Excel клиенту в указанном формате с датой, строго введенной в качестве поля даты (а не текста).

Здесь два изображения (SQL Server и Excel), показывающие, как изменяются данные. Есть ли какие-либо настройки в Excel, которые я могу установить, чтобы предотвратить это?

Снимок экрана, показывающий, как случайные даты портятся

1 ответ1

4

Это не случайно. Даты, сохраняющие формат, обрабатываются в Excel как текст (выравнивание по левому краю). Те, которые имеют другой формат, рассматриваются как числа (даты - по правому краю).

Я предполагаю, что ваши региональные настройки настроены на использование формата M/D/YYYY. Следовательно, только даты, которые соответствуют этому формату, импортируются как числа.

Примеры 24-09-1998 не соответствуют M/D/YYYY, поэтому рассматриваются как текст. 01-06-2000 будут импортированы как дата, но это будет 6 января вместо 1 июня.

Проверьте ваши региональные настройки.

После правильного импорта всех дат в виде числа (date) вы можете применить любой формат даты, который вы хотите. Тот, который вы хотите, это dd-mm-yyyy .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .