powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
6 сообщений из 6, страница 1 из 1
В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
    #32028207
Shmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Верно ли, что в Oracle очень примитивный LIKE и нельзя сказать типа: "Выбрать все строки где пятый символ - {цифра от 1 до 8 или буква F} ". Очень жаль. Или я не прав?
Памажите пожалуйста, очень нужно написать запрос, выбирающий строки по шаблону. что же так и писать where mystr like '_1%' or mystr like '_2%' or mystr like '_3%' or mystr like '_4%' ... mystr like '_F%' ?
но у меня более сложный шаблон, на MSSQL он пишется так: like '_[1-8F]___810_[0-9][0-9][^A]%'. А как это сделать в отличной и прекрасной RDBMS Oracle? Читаю доку, а там - только про % и _ и ESCAPE.
...
Рейтинг: 0 / 0
В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
    #32028220
mmoroz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да действительно в стандартном языке такое написать нельзя, но это не значит, что это нельзя сделать!
Предлагаю вариант:
-пишется функция в которую передаются три параметра(исходный текст, маска)
Эта функция анализирует маску и исходный текст и принимает решение, например
0 -подходит, а 1 -нет
-в запросе в условиях отбора пишешь
WHERE ...
func(column,mask)=0
...

И все будет работать
PS: Может ORACLE и не сделал это, поскольку решил переложить труд написания функции на ВАС.
...
Рейтинг: 0 / 0
В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
    #32028228
nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Выбрать все строки где пятый символ - {цифра от 1 до 8 или буква F} ".
Не обязательно в данном случае использовать LIKE
substr(поле,5,1) in ('1','2','3','4','5','6','7','8','F')

Нет идеальных языков. В любом языке что-то лучше, а что-то хуже. В Oracle есть то, чего нет в вашем MSSQL и боюсь еще не скоро появится (например объектов).
...
Рейтинг: 0 / 0
В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
    #32028231
profi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в принципе я согласен с предыдущим, только вот на счет объектов он не прав...
объекты уже в принципе есть.
...
Рейтинг: 0 / 0
В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
    #32028239
Shmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написать такую функцию, разбирающую регулярные выражения - достаточно нетривиальная задача (желающие в этом убедиться могут посмотреть исходники Perl, впрочем там регулярные выражения гораздо мощнее). Может есть что-нибудь готовое?
Не может не быть! Ну посудите сами, я неделю как работаю с Ora а мне уже это нужно. Все так круто и (в отличие от MSSQL) правильно. А продвинутого LIKE нету.. Должно быть что-то взамен..
А что касается чего где есть а чего нет - так в MSSQL вместе с остальными продуктами MS есть все что есть в Oracle и даже больше. Только написано все так криво.. и работает все так #уево.. "мелкософт" - очень точное определение.
...
Рейтинг: 0 / 0
В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
    #32029427
Silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Shmak: Будь проще, используй функционал Java. Благо у Оракла своя внутренняя "жаба", причем неплохая. Вот тебе и действительно "все что есть у М$"
Кстати, для определенности -- приходится работать и с Oracle и с MSSql2000 -- у каждого свои задачи и оба меня устраивают в свете решения СВОИХ задач )
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В Oracle очень примитивный LIKE? Господа, подскажите, pls, как сравнить строчку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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