1

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

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 月 1 日为此创建的表,我已经尝试过:

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

4 回答 4

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'
于 2012-10-12T05:56:24.370 回答
1

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

您可以简单地使用like来获取在特定日期创建的表格,效果很好。

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

希望这有帮助!

于 2012-10-12T06:35:28.327 回答
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)
于 2012-10-12T05:54:14.120 回答
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'
于 2012-10-12T05:57:35.323 回答