За последние 24 часа нас посетили 30665 программистов и 1479 роботов. Сейчас ищут 822 программиста ...

Задачкаааа...

Тема в разделе "MySQL", создана пользователем Freakmeister, 15 май 2014.

  1. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    В базу пишутся займы - дата выдачи в формате Y-m-d и срок на сколько взял в днях. Можно как-то вытащить все займы, которые должны быть возвращены в определенный день?
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно, но будет фулскан наверное. лучше поле завести.
     
  3. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Пробовал нечто подобное - нифига не прокатывает.
    Код (Text):
    1. "SELECT DATE_ADD(pay_date, INTERVAL 14 DAY) AS `back_date` FROM `wp_loans` WHERE `back_date`='2014-04-03 06:36:32'"
    Добавлено спустя 10 минут 20 секунд:
    А вот в таком виде работает. Выбирает заявки за месяц. У меня изначально стояла задача - выбрать за месяц, а не за день, просто я упростил для вас. Теперь надо как-то вместо 14 скормить ему поле со сроком.
    Код (Text):
    1. "SELECT DATE_ADD(pay_date, INTERVAL 14 DAY) AS `back_date` FROM `wp_loans` WHERE DATE_ADD(pay_date, INTERVAL 14 DAY) LIKE '2014-05-%'"
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не. даты должны работать. просто индексы заюзать не выйдет.
    потыкайся еще
    может в секунды переведи
     
  5. Freakmeister

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

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Скобки не хватало, таки пашет.)) Соответссна, так и по дню можно вытащить, если после 2014-05- добавить ещё день.
    Код (Text):
    1. "SELECT `id`, `term`, (DATE_ADD(`pay_date`, INTERVAL `term` DAY)) AS `back_date` FROM `wp_loans` WHERE DATE_ADD(`pay_date`, INTERVAL `term` DAY) LIKE '2014-05-%'
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Без лайков должно всё работать.