Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Проверка по диапазону (Евгений) 14/09/2010 - 11:48:27
      Re: Проверка по диапазону (Hamyachok) 14/09/2010 - 16:44:24
      Re: Проверка по диапазону (Евгений) 15/09/2010 - 12:43:32
      Re: Проверка по диапазону (Hamyachok) 20/09/2010 - 12:06:59

> Original message text:
> From: Евгений - 14/09/2010 - 11:48:27
> Subject:Проверка по диапазону
> -----------------
> Есть проверка на регулярку.
> obj_stroy="2"
> obj_etag="2,3,6,8"
>
> AND (obj_stroy) REGEXP '(^|,)(1)(,|$)'
> AND (obj_etag) REGEXP '(^|,)(1|2|3|4|5|6|7|8|9|10)(,|$)'
>
> Это проверка сработает если в строке идут значения через запятую. Сделал чтоб уменьшить строк в базе(то есть для каждого ответа создавалась своя запись в базе). Но забыл один нуанс. Клиент может заносить диапазонное значения(1,3,5-7 или 4-10) в базу это значения попадает. Вот тут у меня сложность:
> Как сделать проверку такого рода:
> obj_etag="1-5"
> (obj_etag) REGEXP '(^|,)(1|2|3|4|5|6|7|8|9|10)(,|$)'
>
> Тут я вижу одно решения, как то в запросе поля obj_etag перевести в вид через запятую(1,2,3,4,5) но возможно ли это сделать и как не знаю.
>


From: Hamyachok - 20/09/2010 - 12:06:59
Subject:Проверка по диапазону
-----------------
а так работать будет
REGEXP '(^|,)(1|2|9|10)(,|-|$)
Никогда не работал с регулярными выражениями, но насколько мне подсказала моя логика, значения в боковых скобках, говорят о знаке предшествующем и следующем после цифры. Если это так, тогда должно работать, ведь найдя число после которого идет - запрос поймет, что это интервал.
А если еще нужно знать какие цифры находятся в интервале, тогда нужно искать способ выборки числа из строки. Я знаю, что можно указывать IF в запросе, но вот как взять символ - нет.
Если не помог - удачи в поиске.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37472



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |