За последние 24 часа нас посетили 18705 программистов и 1703 робота. Сейчас ищут 636 программистов ...

Поиск по цифрам. [РЕШЕНО]

Тема в разделе "Прочие вопросы по PHP", создана пользователем Oleg_php, 9 июл 2012.

  1. Oleg_php

    Oleg_php Активный пользователь

    С нами с:
    17 янв 2012
    Сообщения:
    80
    Симпатии:
    0
    Привет всем есть поле в таблице Number в каждой строке через пробел есть цифры 1 9 40 23.

    Код (Text):
    1.  
    2. Таблица
    3. ID   NUMB
    4. 1     1 9 40 23
    5. 2     7 4 2 87
    Как сделать так чтобы выборка из талицы происходила если например сделать LIKE %4% то он вывел ID только 2, а не 1 в добавок так как там 40. То есть нужен точный поиск по числу.
     
  2. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Поиск по цифрам. [СРОЧНО НАДО]

    Лайк не подходит в нем есть тока два спецсимвола..
    Почитайте про регехсп в обычных регэекспах есть \D -не десят цифра мускл думаю тоже поддерживает
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Поиск по цифрам. [СРОЧНО НАДО]

    структура базы данных говно, раз такие вопросы появляются. делайте отдельную таблицу с этими цифрами.
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Re: Поиск по цифрам. [СРОЧНО НАДО]

    Добавить пробелы слева и справа, потом выбирать через '% 4 %':
    Код (Text):
    1. SELECT * FROM t1 WHERE concat(' ',NUMB,' ') LIKE '% 4 %';
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Поиск по цифрам. [СРОЧНО НАДО]

    а потом народ хнычет, почему такие криворукие все.
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Re: Поиск по цифрам. [СРОЧНО НАДО]

    Ещё вариант
    Код (Text):
    1. SELECT * FROM t1 WHERE NUMB REGEXP "^4[[:space:]]" OR NUMB REGEXP "[[:space:]]4[[:space:]]" OR NUMB REGEXP "[[:space:]]4$";
    Добавлено спустя 4 минуты 24 секунды:
    Даже так
    Код (Text):
    1. SELECT * FROM t1 WHERE NUMB REGEXP "^4[[:space:]]|[[:space:]]4[[:space:]]|[[:space:]]4$";
     
  7. Oleg_php

    Oleg_php Активный пользователь

    С нами с:
    17 янв 2012
    Сообщения:
    80
    Симпатии:
    0
    Re: Поиск по цифрам. [СРОЧНО НАДО]

    Всем спасибо. Переделал структуру таблиц, создал дополнительную таблицу где у id 1 и id 2 были строки с каждым числом.