检查时间戳是否来自MySQL中的今天

时间:2011-08-18 11:04:11

标签: mysql database automation

我有一个包含多个表的数据库。这些表中的每一个都有一个“created”列,其中包含在数据库中创建该特定行的时间戳。

现在,我想创建一个MySQL脚本,每周检查一次是否有数据进入这些表。所以,应该每天都有数据出现。如何创建一个MySQL脚本,允许我对数据库中的所有表执行此操作?

注意:请记住,我想使用单个脚本对数据库中的所有表执行此操作。这是我想知道的主要内容。

2 个答案:

答案 0 :(得分:1)

我将此方法用于名为call的表,其中包含一列名为systemdate的时间戳类型:

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

mysql DATE() statement获取日期时间或时间戳字段的日期部分。

抱歉,您注意到要查看上周每天至少有一个条目。

您可以使用此查询单独检查流行天数:

昨天:

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个结果,您至少会知道每天都有一个条目。

答案 1 :(得分:0)

select * from table
where created between subdate(current_date, interval 7 day) and current_date;

选择最长为current_date的日期时间包括“今天”开头的所有内容(即“前一个午夜”)。