Проверка меток времени, если они с сегодняшнего дня в MySQL - PullRequest
1 голос
/ 18 августа 2011

У меня есть база данных с несколькими таблицами. Каждая из этих таблиц имеет столбец «создан», который содержит метки времени, когда эта конкретная строка была создана в базе данных.

Теперь я хочу создать скрипт MySQL, который проверяет один раз в неделю, есть ли данные, поступающие в эти таблицы. Таким образом, данные должны поступать каждый день. Как мне создать скрипт MySQL, который позволяет мне делать это для всех таблиц в базе данных?

Примечание. Помните, что я хочу сделать это для всех таблиц в базе данных одним скриптом. Это главное, что я хочу знать.

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Я использую этот подход для таблицы с именем call, со столбцом типа отметки времени с именем systemdate:

SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW());

mysql DATE () оператор получает часть датыполе datetime или timestamp.

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

вы можете использовать этот запрос для проверкииндивидуальные предыдущие дни:

вчера:

SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW()) - 1;

до вчерашнего дня:

SELECT * FROM `call` WHERE DATE(`systemdate`) = DATE(NOW()) - 2;

Или вы можете проверить всю неделю сразу:

SELECT * FROM `call` WHERE DATE(`systemdate`) > DATE_SUB(CURDATE(), INTERVAL 7 DAY)  GROUP BY DATE(`systemdate`);

Это будет возвращать один результат за каждый день, поэтому, если у вас будет 7 результатов, вы будете знать, что по крайней мере запись была сделана каждый день.

0 голосов
/ 18 августа 2011
select * from table
where created between subdate(current_date, interval 7 day) and current_date;

Выбор времени до current_date включает все до начала «сегодня» (то есть «предыдущей полуночи»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...