За последние 24 часа нас посетили 16419 программистов и 1549 роботов. Сейчас ищут 2072 программиста ...

BETWEEN в mysql

Тема в разделе "MySQL", создана пользователем Mark32, 19 июн 2008.

  1. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    а какие потом буду проблемы?
     
  2. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Здравствуйте!

    Помогите плиз разобраться с командой мускула. Пишу:

    SELECT * from $TableName where Time BETWEEN '$fb' AND '$lb' AND Month LIKE '%$month%' AND Day LIKE '%$day%' AND Num LIKE '%0101%' ORDER BY `id` DESC

    Всё прекрасно извлекает – нет проблем, но вот если добавлю условие

    SELECT * from $TableName where Time BETWEEN '$fb' AND '$lb' AND Month LIKE '%$month%' AND Day LIKE '%$day%' AND Num LIKE '%0101%' AND Num LIKE '%0202%' ORDER BY `id` DESC

    Не извлекает ничерта. А если

    SELECT * from $TableName where Time BETWEEN '$fb' AND '$lb' AND Month LIKE '%$month%' AND Day LIKE '%$day%' AND Num LIKE '%0101%' OR Num LIKE '%0202%' ORDER BY `id` DESC

    Извлекает данные неправильно – данные не соответствуют временным значениям что прописаны ранее.

    Вобщем надо ясно что. Из ячейки Num извлечь имеющиеся данные 0101 & 0202 + по тем параметрам выше.

    Подскажите, что я тут неправильно связываю?

    PS не обращайте внимание на странное извлечение даты - так надо:)
     
  3. dAllonE

    dAllonE Guest

    Хм... А если в самом начале вот это
    [sql]
    WHERE date
    BETWEEN '19.03.08'
    AND '19.06.08'
    [/sql]

    заменить на вот это
    [sql]
    WHERE UNIX_TIMESTAMP(date)
    BETWEEN metka_vremeni_raz
    AND metka_vremeni_dva
    [/sql]

    не проще было бы?


    По последнему вопросу:

    Потому что скобки надо ставить:

    [sql]
    SELECT * from $TableName where Time BETWEEN '$fb' AND '$lb' AND Month LIKE '%$month%' AND Day LIKE '%$day%' AND ( Num LIKE '%0101%' OR Num LIKE '%0202%' ) ORDER BY `id` DESC
    [/sql]

    И все таки, почему так?
     
  4. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Благодарю за ответ, всё проверю.

    Почему так? Дело в том что данные собираются с разных источников. И незамысловатым образом их соеденил именно таким образом.
     
  5. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    нет.

    [sql]SELECT * from $TableName where Time BETWEEN '$fb' AND '$lb' AND Month LIKE '%$month%' AND Day LIKE '%$day%' AND ( Num LIKE '%0101%' OR Num LIKE '%0202%' ) ORDER BY `id` DESC[/sql]

    почему-то не работает. Извлекает не все требуемые данные по указанному условию. Сл-но условие составлено неверно.