Как изменить системную дату по умолчанию с ymd на dmy - PullRequest
4 голосов
/ 19 мая 2011

Может кто-нибудь помочь мне изменить системную дату по умолчанию с ymd на dmy? Они должны быть всегда форматом по умолчанию! Как?

Ответы [ 3 ]

6 голосов
/ 19 мая 2011

SET DATEFORMAT :

Устанавливает порядок месяца, дня и части даты года для интерпретации даты, smalldatetime, datetime, datetime2 и символьные строки datetimeoffset.

[Примечание: это часто не способ решить проблему интерпретации дат. Datetime не следует хранить в виде строк, если вы можете избежать этого (используйте вместо этого столбец datetime или date). Если вам нужно сохранить в строковой форме, используйте формат ISO 8601, который в основном имеет вид ГГГГММДД]

Пример из MSDN:

-- Set date format to day/month/year.
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';
SELECT @datevar;
GO
-- Result: 2008-12-31 09:01:01.123
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';
SELECT @datevar;
GO
-- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.
GO
3 голосов
/ 19 мая 2011

Можно установить формат даты по умолчанию для текущего входа в систему, изменив язык по умолчанию.

Для месяца / дня / года:

ALTER LOGIN [MyUser] WITH DEFAULT_LANGUAGE = us_english
select CAST('01-06-2011' as datetime)
-- 2011-01-06 00:00:00.000

Или для дня / месяца / года:

ALTER LOGIN [MyUser] WITH DEFAULT_LANGUAGE = British
select CAST('01-06-2011' as datetime)
-- 2011-06-01 00:00:00.000

Вы можете выбрать любой из языков, перечисленных в sys.syslanguages.Изменения не вступят в силу, пока вы снова не войдете в систему.

0 голосов
/ 15 февраля 2019
SET DATEFORMAT DMY;

GO

RECONFIGURE

GO

DBCC USEROPTIONS

SELECT GETDATE()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...