Мне нужно добавить возможность пользователям моего программного обеспечения выбирать записи по диапазонам символов.
Как написать запрос, который возвращает все виджеты из таблицы, чье имя попадает в диапазон Ba-Bi?Каков наилучший способ выбора строковых полей на основе диапазонов символов?
В настоящее время я использую больше и меньше, чем операторы, поэтому вышеприведенный пример станет:
select * from widget
where name >= 'ba' and name < 'bj'
Обратите внимание, как я «инкрементируется» последний символ верхней границы от I до J, так что «велосипед» не будет забыт.
Существует ли общий способ поиска следующего символа после заданного символа на основе сопоставления поля или было бы безопаснее создать второе условие?
select * from widget
where name >= 'ba'
and (name < 'bi' or name like 'bi%')
Мое приложение должно поддерживать локализацию. Насколько чувствителен этот тип запросов к различным наборам символов?
Мне также нужно поддерживать как MSSQL, так и Oracle. Каковы мои варианты обеспечения того, чтобы оболочка символов игнорировалась независимо от того, какой язык отображается в данных?
Я считаю, по крайней мере, в MySQL это было бы «rlike», а не «как». – pilsetnieks 2008-09-30 12:24:52