timestamp类型条件查询

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v7.1.3/v7.5.4
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
MySQL [INFORMATION_SCHEMA]> select count() from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY WHERE time >= “2000-11-07 09:05:00.755514”;
±---------+
| count(
) |
±---------+
| 0 |
±---------+
1 row in set (0.00 sec)

MySQL [INFORMATION_SCHEMA]> select count() from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY;
±---------+
| count(
) |
±---------+
| 2139 |
±---------+
1 row in set (0.38 sec)

MySQL [INFORMATION_SCHEMA]> select min(time) from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY;
±---------------------------+
| min(time) |
±---------------------------+
| 2025-02-07 12:46:11.801819 |
±---------------------------+
1 row in set (0.17 sec)

MySQL [INFORMATION_SCHEMA]> select count() from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY WHERE time >= ‘2025-02-07 12:46:11.801819’;
±---------+
| count(
) |
±---------+
| 596 |
±---------+
1 row in set (0.49 sec)

| Time | timestamp(6) | NO | PRI | NULL | |

timestamp类型可以直接这样比较大小吗?为什么条件是min,查出来的结果不是全部值?

我测试了下,确实可以复现。
我猜测 CLUSTER_SLOW_QUERY查到的数据可能不完整

做了内部限制,没有小于等于的,是在24h内

1 个赞

在24小时内可以指定时间范围查询吗

确认下时区是否一致,
select count(*) from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY WHERE time >= ‘2025-02-07 12:46:11.801819’;*改成双引号看看

在TiDB中,timestamp 类型的数据是可以直接进行比较大小的。
在查询中使用WHERE time >= '2025-02-07 12:46:11.801819' 这样的条件是合法的

是可以的,

https://github.com/pingcap/tidb/issues/56100
等新版本发布,已经修复了。

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。