Показано с 1 по 9 из 9

Тема: Поиск по базе MySQL

  1. #1

    Регистрация
    28.06.2006
    Сообщений
    43
    Здраствуйте,

    вопрос такой,

    в базе дата записана форматом 0000-00-00

    запрос соответственно такой:

    SELECT * FROM users WHERE `date`='2006-12-02';

    как правильно сформировать запрос чтобы в поиске игнорировался день 02,
    так чтобы результамом поиска выдало всех пользователей которые зарегестрировались 2006-12 не обращая внимая на сам день?

  2. #2

    Регистрация
    01.12.2006
    Сообщений
    16
    Привет!

    Попробуйте такую конструкцию запроса

    SELECT *
    FROM users
    WHERE `date` REGEXP '2006-12';

  3. #3

    Регистрация
    12.07.2005
    Сообщений
    1
    Как вариант:
    SELECT *
    FROM users
    WHERE `date` LIKE 2006-12%

  4. #4

    Регистрация
    11.11.2006
    Сообщений
    12
    Согласен с Wolf!

    % - заставляют запрос быть гибким.

    Но хорошим плюсом будет хранить даты и время в базе в формате Unix. Тогда и выборку можно будет сделать с любой "точностью". Как именно это сделать ищите в подобном вопросе, в этом же разделе на форуме.

  5. #5

    Регистрация
    26.11.2006
    Сообщений
    5
    Ребята, помогите. Такой вопрос, а как можно поверху баззы данных писать с двух ресурсов, а то у меня есть одна база данных магазина и есть еще один ресурс хочу чтобы с него тоже все импортилось в ту же базу данных, почему то просто не хочет конектиться база

  6. #6

    Регистрация
    28.06.2006
    Сообщений
    43
    дату можно записивать по разному,
    например создать для года, месяца і дня три разные поля тогда б запрос выглядел так:

    SELECT * FROM users WHERE `month`='12' AND `year`='2006'

    какоето время я так и делал, но всетаки лучше использовать функции встроеные в скул.

    всем спасибо. k:

  7. #7

    Регистрация
    09.01.2007
    Сообщений
    7
    по таким базам поисr не делают, нужно использовать search index, за поиски :-)

  8. #8

    Регистрация
    25.12.2005
    Адрес
    Владивостока
    Сообщений
    93
    Originally posted by firstrow@Dec 8 2006, 03:38
    Здраствуйте,

    вопрос такой,

    в базе дата записана форматом 0000-00-00

    запрос соответственно такой:

    SELECT * FROM users WHERE `date`='2006-12-02';

    как правильно сформировать запрос чтобы в поиске игнорировался день 02,
    так чтобы результамом поиска выдало всех пользователей которые зарегестрировались 2006-12 не обращая внимая на сам день?
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]

    В вашем случае будет правильнее:
    SELECT * FROM users WHERE date BETWEEN &#39;2006-12-01&#39; AND &#39;2006-12-31&#39;;

  9. #9

    Регистрация
    25.12.2005
    Адрес
    Владивостока
    Сообщений
    93
    Originally posted by yuriyy@Dec 8 2006, 06:29
    Привет!

    Попробуйте такую конструкцию запроса

    SELECT *
    FROM users
    WHERE `date` REGEXP* &#39;2006-12&#39;;
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]

    Чуть неверно т.к. при запросе:

    SELECT *
    FROM users
    WHERE `date` REGEXP &#39;2006-1&#39;;

    Выбирутся 1, 10, 11, 12 месяцы! Хотя не не выбирутся... там же 0 приписывается в месяц...

    Но регулярки в таких простых операциях это глюк...
    При проиндексированом столблце и миллионе записей запрос повиснет минут на 5.

Похожие темы

  1. Поиск
    от Phaeton в разделе Веб-программирование
    Ответов: 2
    Последнее сообщение: 22.12.2007, 21:27
  2. Поиск по mp3 тэгам.
    от A . в разделе Веб-программирование
    Ответов: 0
    Последнее сообщение: 19.11.2007, 00:38
  3. Поиск
    от Lucky_best в разделе Веб-программирование
    Ответов: 1
    Последнее сообщение: 13.04.2007, 11:19
  4. поиск
    от maxxxx в разделе Веб-программирование
    Ответов: 3
    Последнее сообщение: 25.01.2007, 10:48
  5. 3D поиск фотографий
    от KaLiF в разделе Дизайн-лента
    Ответов: 1
    Последнее сообщение: 29.12.2006, 01:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •