MySQL: кто сегодня "включен" между двумя разными датами - PullRequest
0 голосов
/ 19 декабря 2009

У меня проблема с Mysql. (Я использую PHP с ним).

Например, у меня есть такая база данных:

Имя | Началось и | закончится
Джейсон | 2009-12-17 | 2009-12-24
Эрике | 2009-12-12 | 2009-12-30
Мария | 2010-01-02 | 2010-01-10

С вопросом mysql (или php) я хотел бы получить имена людей, которые сейчас включены (2009-12-19).

Ответ должен быть:
Джейсон
Эрике

Спасибо за вашу большую помощь заранее!

Ответы [ 2 ]

2 голосов
/ 19 декабря 2009
SELECT *
  FROM `table`
 WHERE CURDATE() BETWEEN `startdate` AND `enddate`
2 голосов
/ 19 декабря 2009

как насчет запроса, в котором вы сравниваете даты?

Что-то вроде этого, я полагаю, должно сделать:

select name
from your_table
where started <= curdate() 
    and will_end >= curdate()

Примечания:

  • Вам, конечно, нужно будет настроить имена таблиц и столбцов
  • и, возможно, вы захотите использовать > и < вместо >= и <=; зависит от ваших данных.
  • Я использую функцию curdate(), которая получает дату текущего дня - мне это нравится больше, чем вставка даты в запрос с использованием некоторого кода PHP.
...