Чувствительность к регистру в секции WHERE | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Как регулировать чувствительность к регистру в условии WHERE запроса SELECT - SQL? Например:
|
Re: Чувствительность к регистру в секции WHERE | |
---|---|
Burn Сообщений: 5644 Откуда: Днепр Дата регистрации: 02.01.2002 |
Запрос к какому SQL-серверу?
MS SQL регистронезависимый. В фоксе можно привести к одному виду:
Исправлено 2 раз(а). Последнее : Burn, 29.07.20 20:00 |
Re: Чувствительность к регистру в секции WHERE | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Запрос в фоксе. Функция UPPER( ) переводит символы к верхнему регистру - это хорошо. Я думал что чувствительность можно включать или отключать с помощью команды SET. У меня получается, что когда я выполняю запрос из проекта, то чувствительности нет, а когда из exe-ка - то есть.
|
Re: Чувствительность к регистру в секции WHERE | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
На всякий, в фоксе:
|
Re: Чувствительность к регистру в секции WHERE | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Это наверное оно. Спасибо! |
Re: Чувствительность к регистру в секции WHERE | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Есть ещё Collate "General".
Но в этом варианте и все индексы по символьным выражениям должны быть созданы в той же самой collation - иначе они не бдут использоваться для оптимизации. P.S. MSSQL вовсе не "регистронезависимый" - он точно так-же управляется collation-ами, которые могут быть как регистрочувствительными (суффикс _CS в имени collation), так и нет (суффикс _CI) в отличие от фокса они ещё и на 4 разных уровнях могут быть установлены (весь сервер, некоторая база данных, отдельная колонка, отдельное выражение в запросе). В фоксе по сути лишь 2 уровня - уровень датасессии (все запросы, и операции сравнения в рамках данной датасессии - устанавивается через SET COLLATE, ну и опцию COLLATE конфиг-файла для глобальной датасессии - может быть конечно и переопределено командой) и уровень отдельного индекса (НО на самом деле этим нельзя напрямую воспользоваться в запросах или выражениях - только явно используя индекс, например SET ORDER или SEEK - да и то поведение НЕ идентично тому что будет при переключении настройки через SET COLLATE) P.P.S. использование UPPER или LOWER для "унификации" регистра символов - вполне себе вариант - имеет свои плюсы по сравнению с SET COLLATE. Правда и писать эти функции придётся везде и всегда - и в запросах, и в выражениях сравнения... ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 30.07.20 17:18 |
© 2000-2024 Fox Club  |