SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.02.2008 19:23:56

Mikasto
Завсегдатай
Зарегистрирован: 25.09.2007
Сообщений: 35

Очень необычный запрос! с REGEXP

Как написать регулярное выражение или придумать замену ему?
Можно ли использовать в регулярных выражениях сравнения типа "больше" и "меньше"?

Нужно вычленить строки где число входит в диапазон

например диапазоны
1) 43-67,
2) 2-5,
3) 133-145

Нужен такой запрос, который вытягивает строку, если в ней указан диапазон, в который входит заданное число

например чтобы найти строки для числа 6 нужно писать что-то типа :
k.`name` REGEXP "((1|2|3|4|5|6|7|8)\-[0-9]+)"

- и то неверно , может попасть диапазон 1-7

Что делать?

Неактивен

 

#2 27.02.2008 19:33:10

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Очень необычный запрос! с REGEXP

Что-то я не понял. Для заданного числа, например 6 нужно быбрать строки где:
а) где указан диапазон, в который входит заданное число, например 1-7
или
б) где указан диапазон, в границах которого присутствует данное число, например 43-67?

Неактивен

 

#3 28.02.2008 10:54:25

Mikasto
Завсегдатай
Зарегистрирован: 25.09.2007
Сообщений: 35

Re: Очень необычный запрос! с REGEXP

vasya написал:

Что-то я не понял. Для заданного числа, например 6 нужно быбрать строки где:
а) где указан диапазон, в который входит заданное число, например 1-7
или
б) где указан диапазон, в границах которого присутствует данное число, например 43-67?

Да, я перепутал: k.`name` REGEXP "((1|2|3|4|5|)\-[0-9]+)" для 6

Неактивен

 

#4 28.02.2008 11:12:31

Mikasto
Завсегдатай
Зарегистрирован: 25.09.2007
Сообщений: 35

Re: Очень необычный запрос! с REGEXP

Вопрос в том, как провести сравнение в регулярном выражении и можно ли это вообще сделать!

Неактивен

 

#5 28.02.2008 11:15:00

Mikasto
Завсегдатай
Зарегистрирован: 25.09.2007
Сообщений: 35

Re: Очень необычный запрос! с REGEXP

Вот k.`name` REGEXP "(([1-9]|[1-2][0-9]|3[0-2])\-(3[2-9]|[4-9][0-9]+))" так это делается для числа 32 (для примера)! Сам догадался.

Спасибо. Тема закрыта.

Неактивен

 

#6 29.02.2008 18:42:24

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Очень необычный запрос! с REGEXP

IMHO, числа лучше сравнивать в числовом контексте, а не регекспами smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson