LIKE
поведение зависит от сортировки, которая в вашем случае должна быть Cyrillic_General_CI_AS
.
CI означает нечувствительность к регистру. Таким образом, это означает, что, например, «Ц» и «ц» будут обрабатываться одинаково в поисковых системах. AS предназначен для акцентов. В любом случае это не имеет никакого смысла в кириллице.
Насколько мне известно, в сортировке нет ничего, что бы описать, как латинские символы отображаются на кириллицу. В этом проблема: Должен ли латинский 'c' отображаться на кириллические 'ц' или 'c',, или 'к', или 'ч'? Или, может быть, «в», потому что это третий в алфавите? Должно ли кириллическое «ц» отображать латинское «c» или «z»?
Однако это можно сделать в бизнес-слое вашего веб-сайта ASP.NET. Там у вас есть свобода настройки вашего картографирования в соответствии с потребностями бизнеса. Всякий раз, когда пользователь переходит «AB» в качестве параметра - вы можете создать пару «аb» и «» из АБ из них, и передать как для хранимой процедуры или специальной запроса:
select *
from table1
where column1 like '%ab%' or column1 like '%аб%'
P.S. Остерегайтесь, что наличие% до вашего поискового запроса будет медленным, если у вас есть миллионы записей: LIKE 'ab%'
может использовать индексный поиск, LIKE '%ab%'
не может.
Благодарим за информацию и альтернативный запрос, я никогда не думал об OR в запросе. – dnisko