查询以获取在特定日期创建的表

时间:2012-10-12 05:50:22

标签: mysql

您好我的兴趣是获取在特定日期创建的所有表格,而不管为此创建的表格,以便为我尝试的表格列表创建时间:

select table_name,create_time 
from information_schema.tables 
where table_schema='database_name'

我的结果是

| Table_name                       | 2012-09-13 03:09:50 |  
| Table_name                       | 2012-10-01 08:05:41 |
| Table_name                       | 2012-10-01 08:05:41 |
| temp                             | 2011-05-25 03:05:50 |

现在我需要获取在2012-10-01创建的表格,我已尝试过:

select table_name,create_time 
from information_schema.tables 
where table_schema='database_name' and create_time='2012-10-01'

我得到了结果Empty set (5.09 sec)

在这里,我需要获得在2012-10-01创建的所有表格,无论时间如何。

4 个答案:

答案 0 :(得分:2)

SELECT table_name,create_time 
FROM information_schema.tables 
WHERE table_schema='database_name' AND
    create_time BETWEEN '2012-10-01 00:00:00' AND '2012-10-01 23:59:59'

答案 1 :(得分:1)

因为我们已经有其他选择。请看下面是否可以帮助你。

您只需使用like即可获取在特定日期创建的表格,并且效果良好。

select table_name,create_time  from information_schema.tables  where table_schema='dbname' AND (create_time like "2012-10-01 %");

希望这有帮助!!

答案 2 :(得分:0)

很确定有更好的方法,但这似乎对我有用:

SELECT table_name,create_time from information_schema.tables
where table_schema='database_name'
AND create_time BETWEEN '2012-10-01' AND DATE_ADD('2012-10-02', INTERVAL -1 SECOND)

答案 3 :(得分:0)

SELECT table_name,create_time FROM information_schema.tables WHERE table_schema='quadv2_dev' AND DATE_FORMAT(create_time,'%Y-%m-%d')='2012-09-17'