Продолжаем изучать работу с системными таблицами Microsoft SQL Server. И в данной статье мы рассмотрим вопросы связанные с форматом представления даты по умолчанию.
Формат даты, используемый по умолчанию хранится в таблице sys.dm_exec_sessions в поле date_format.
Для того чтобы его корректно вывести необходимо выполнить отбор су чётом текущего соединения. Однако это не является проблемой так как идентификатор сеанса хранится в системной переменной @@spid.
Ниже представлен запрос, который вывод формат даты используемы в SQL Server по умолчанию.
1 2 3 4 5 6 |
SELECT date_format FROM sys.dm_exec_sessions WHERE session_id = @@spid |
Для того чтобы изменить формат даты по умолчанию служит специальная команда SET DATEFORMAT, которая принимает в качестве аргумента формат даты в виде строки. Например:
1 |
SET DATEFORMAT 'mdy' |
Но, данная команда действует только для текущего соединения.
К сожалению, единственным способом изменить формат даты независимо от соединения, это изменить язык по умолчанию для имени входа. Но, даже в этом случае формат даты всё равно зависит от региональных стандартов.
Поэтому, в прикладных задачах связанных с выводом дат лучше их форматировать либо в процедурах или функциях, либо непосредственно в клиентской программе.
Добавить комментарий