Дополнительно
Измените формат времени по умолчанию для одной базы данных в SQL Server
Мне нужно изменить формат даты с US (мм / дд / ГГГГ) на UK (дд / мм / ГГГГ) в одной базе данных на сервере SQL.
Как это можно сделать?
Я видел утверждения, которые делают это для всей системы, и те, которые делают это для сеанса, но я не могу изменить код сейчас, так как он должен будет снова пройти QA, поэтому мне нужно быстрое исправление, чтобы изменить формат даты времени.
Обновить
Я понимаю, что время даты не имеет ничего общего с тем, как SQL Server хранит данные, но оно во многом связано с тем, как он анализирует запросы.
Я собираю необработанные данные из файла XML в базу данных. Даты в файле XML указаны в формате даты в Великобритании.
20
8
Вы можете использовать SET DATEFORMAT , как в этом примере
Вам нужно будет указать формат даты в коде при анализе данных XML
Чтобы не заниматься этими очень скучными вопросами, Я советую вам всегда анализировать ваши данные с помощью стандартного и уникального формата даты SQL / ISO , который является ГГГГ-ММ-ДД. Ваши запросы будут работать на международном уровне, независимо от того, какие параметры даты находятся на вашем главном сервере или на запрашивающих клиентах (где локальные настройки даты могут отличаться от настроек основного сервера)!
Хотя вы не можете установить формат даты по умолчанию для одной базы данных, вы можете изменить язык по умолчанию для входа в систему, который используется для доступа к этой базе данных:
В некоторых случаях это помогает.
Вы можете изменить язык только на всем сервере, а не на отдельных базах данных. Однако, если вам необходимо поддержать Великобританию, вы можете выполнить следующую команду перед всеми входами и выходами:
Или, если у вас возникли проблемы с вводом данных из вашего приложения, вы можете рассмотреть универсальный тип ввода, например
Если это действительно проблема QA, и вы не можете изменить код. Настройте новый экземпляр сервера на компьютере и настройте язык как «британский английский»
Использовать:
Работает на 100%.
Для SQL Server 2008 выполните:
Вы понимаете, что формат не имеет ничего общего с тем, как SQL Server хранит дату и время, верно?
Вы можете использовать
set dateformat
для каждого сеанса. Там нет настройки только для базы данных.Если вы используете параметры для вставки или обновления данных или для фильтрации, у вас не будет проблем с этим.