Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с SQL запросом, а именно с работой like / 5 сообщений из 5, страница 1 из 1
26.02.2003, 19:06
    #32111739
djdfy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL запросом, а именно с работой like
Помогите с SQL запросом, а именно с работой like
Необходимо написать запрос типа:
select * from DataBase where Data like ...
Я понял что следующие структуры в like под Oracle работают:
'%'
'%<любой символ>'
'%<любой символ>%'
'<любой символ>%'
'<любое слово>%'

и т.д.
Но мне надо выбрать все строки в которых Data начинается не только, например с символа 'A', но еще и снекоторых других, например 'C' и 'E', но следующая структура:
... Data like '[ACE]%'
НЕ РАБОТАЕТ
Или наоборот требуется, чтобы Data не начиналась, например, с этих же символов...
... Data like '[!ACE]%' или ... Data like '[^ACE]%'
тоже не работают...

Помогите, пожалуйста разобраться, Спасибо.

PS: Ответ можно как на e-mail, так и здесь в форуме...
Еще раз СПАСИБО
...
Рейтинг: 0 / 0
26.02.2003, 19:36
    #32111748
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL запросом, а именно с работой like
General Examples
This condition is true for all last_name values beginning with "Ma":

last_name LIKE 'Ma%'

All of these last_name values make the condition true:

Mallin, Markle, Marlow, Marvins, Marvis, Matos

Case is significant, so last_name values beginning with "MA", "ma", and "mA" make the condition false.

Consider this condition:

last_name LIKE 'SMITH_'

This condition is true for these last_name values:

SMITHE, SMITHY, SMITHS

This condition is false for 'SMITH', since the special character "_" must match exactly one character of the lastname value.

ESCAPE Clause Example
You can include the actual characters "%" or "_" in the pattern by using the ESCAPE clause, which identifies the escape character. If the escape character appears in the pattern before the character "%" or "_" then Oracle interprets this character literally in the pattern, rather than as a special pattern matching character.

To search for employees with the pattern 'A_B' in their name:

SELECT last_name
FROM employees
WHERE last_name LIKE '%A\_B%' ESCAPE '\';

The ESCAPE clause identifies the backslash (\) as the escape character. In the pattern, the escape character precedes the underscore (_). This causes Oracle to interpret the underscore literally, rather than as a special pattern matching character.
...
Рейтинг: 0 / 0
26.02.2003, 20:29
    #32111763
James
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL запросом, а именно с работой like
Как один из вариантов:

where substr(data,1,1) in ('A','B')
и наоборот substr(data,1,1) not in ('A','B')
...
Рейтинг: 0 / 0
27.02.2003, 05:08
    #32111814
nik_111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL запросом, а именно с работой like
Where Data LIKE '%A%B%C%'...
...
Рейтинг: 0 / 0
27.02.2003, 08:36
    #32111840
m_kus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL запросом, а именно с работой like
Ну нету там регулярных выражений, тольк file wildcards '%' и '_'...
Используй SUBSTR или:
WHERE (s like 'A%') OR (s like 'B%')... может и быстрее будет (с индексами), а может и нет...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с SQL запросом, а именно с работой like / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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