powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как изменить формат даты ?
5 сообщений из 5, страница 1 из 1
Как изменить формат даты ?
    #32000746
Sasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли в MSS изменить формат даты, что бы он работал не с mm.dd.yyyy , а с dd.mm.yyyy
...
Рейтинг: 0 / 0
Как изменить формат даты ?
    #32000749
petr13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В случае использовании констант (напремер в Where или Install) пользуйся
Set dataformat dmy -- день, месяц, год
При выборках - используй функцию CONVERT
...
Рейтинг: 0 / 0
Как изменить формат даты ?
    #32000784
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что если пошлёшь запрос вида
SELECT ....
FROM ...
WHERE CONVERT(поле_даты),...) = ...

То индекс по этому полю (если он есть) использоваться не будет. Впрочем, это касается любого поля (не только даты). Если при поиске идёт обращение не к полю напрямую, а через функцию, то поиск ведётся путём сканирования всей таблицы данных.

Так что использование SET DATEFORMAT предпочтительней.
...
Рейтинг: 0 / 0
Как изменить формат даты ?
    #32000793
dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это относится ко всем индексам? (независимо от того кластерный он или некластерный?) И не зависит ли от вида функции. Если есть ссылочка на эту тему, буду весьма признателен.

Кстати, можно ведь использовать и наоборот where <поле даты>=Convert(datetime,<константа/выражение>,<формат даты&gt. Тогда никакая функция от поля с индексом браться и не будет
...
Рейтинг: 0 / 0
Как изменить формат даты ?
    #32000796
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Кстати, можно ведь использовать и наоборот where <поле даты>=Convert(datetime,<константа/выражение>,<формат даты>"

Да, действительно, в этом случае SQL Server может использовать индекс.
Я не могу сказать, есть ли в документации информация про взаимоотношения индексов и функций.
Я сам пришёл к этому выводу, анализируя планы выполнения различных запросов к полям разных типов. Т.е. эмпирическим путём. Не думаю, что разница "кластерный" или "некластерный" как-то повлияет на работу оптимизатора запросов. Т.к. кластерный индекс лишь определяет способ физического расположения строк в таблице (т.е. в отсортированном порядке), но не способ поиска.
В документации я нашёл только явное утверждение про LIKE, что если LIKE 'значение%', то индекс будет использоваться, а если LIKE '%значение', то не будет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как изменить формат даты ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]