Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / RLIKE / 6 сообщений из 6, страница 1 из 1
15.09.2003, 18:02
    #32265492
young
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RLIKE
Требуется при помощи RLIKE выбрать все строки в которых не встречается подстрока ABC.

Возможно ли это сделать на стороне MySQL ?
...
Рейтинг: 0 / 0
15.09.2003, 18:29
    #32265521
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RLIKE
Ну я не знаю зачем такие сложности с RLIKE . Достаточно просто LIKE .

Код: plaintext
1.
2.
3.
SELECT * FROM My_Table
WHERE
  NOT field_01 LIKE '%ABC%'


mahoune
...
Рейтинг: 0 / 0
15.09.2003, 18:36
    #32265533
young
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RLIKE
Проблема сделать это внутри RLIKE а не снаружи :)

Типа

SELECT * FROM My_Table
WHERE
field_01 LIKE 'MAGIC_VALUE'
...
Рейтинг: 0 / 0
16.09.2003, 09:37
    #32265899
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RLIKE
В таком случае, читая MySQL Regular Expressions , находим:

[^a-dX]
Matches any character which is ( or is not, if ^ is used ) either a, b, c, d or X. To include a literal ] character, it must immediately follow the opening bracket [. To include a literal - character, it must be written first or last. So [0-9] matches any decimal digit. Any character that does not have a defined meaning inside a [] pair has no special meaning and matches only itself.
mysql> SELECT "aXbc" REGEXP "[a-dXYZ]"; -> 1
mysql> SELECT "aXbc" REGEXP "^[a-dXYZ]$"; -> 0
mysql> SELECT "aXbc" REGEXP "^[a-dXYZ]+$"; -> 1
mysql> SELECT "aXbc" REGEXP "^[^a-dXYZ]+$"; -> 0
mysql> SELECT "gheis" REGEXP "^[^a-dXYZ]+$"; -> 1
mysql> SELECT "gheisa" REGEXP "^[^a-dXYZ]+$"; -> 0


mahoune
...
Рейтинг: 0 / 0
16.09.2003, 10:02
    #32265944
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RLIKE
Наверно, "внутри" имеется ввиду как сделать конкат?

например,

Код: plaintext
1.
2.
SELECT * FROM My_Table 
WHERE 
field_01 LIKE '%' + 'MAGIC_VALUE' + '%'


или

Код: plaintext
1.
2.
SELECT * FROM My_Table 
WHERE 
field_01 RLIKE '.*' + 'MAGIC_VALUE' + '.*'


поправьте меня, если неправильно написал как сделать конкат. забыл уже :(
...
Рейтинг: 0 / 0
16.09.2003, 10:42
    #32266026
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RLIKE
2fedd, да вроде все правильно написал. На худой конец CONCAT() .

mahoune
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / RLIKE / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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