Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2019, 06:32   #1
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
Стрелка MS SQL

Здравствуйте, возможно ли как нибудь сделать следующее:

При сравнении учитывать латинские буквы похожие на кириллицу?

То есть в таблице надо найти строки, содержащие слово какое нибудь, например "день", но сделать так чтобы находило все варианты с этим словом - в случае когда все буквы русские, в случае когда например буква"е" написана на английском, или любая другая буква, где латинская буква может быть похоже на русскую.

Вариант может быть таким, что заменять просто все символы при выборке с помощью replace, но он крайне не производителен.

Есть может у кого какие нибудь идеи на этот счет?
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 16.08.2019, 06:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

LIKE 'д[еe][нh]ь'
или записывать в базу уже транслированный текст
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.08.2019, 07:01   #3
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

в вашем случае регистр имеет значение?
Тоесть он найдет и деНь, где Н это латиница
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 16.08.2019, 07:03   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

это зависит от настройки sql сервера
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.08.2019, 07:10   #5
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

а можно как то самому like указать игнорировать регистр?
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 16.08.2019, 07:49   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

при регистро-чувствительной настройке - upper, в противном случае ни чего не надо или COLLATE чтобы была зависимость от регистра
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.08.2019 в 07:58.
Аватар вне форума Ответить с цитированием
Старый 16.08.2019, 08:07   #7
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

Спасибо однозначно, в моем случае регистр игнорируется, судя по проведенным тестам, ну и работает этак конструкция конкретно под мой запрос в 7-8 раз быстрее чем 11 replace'ов под каждый символ делать.
a.n.o.n.i.m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск