gpt4 book ai didi

sql - PostgreSQL 检查匹配正则表达式的表数

转载 作者:行者123 更新时间:2023-11-29 12:34:52 24 4
gpt4 key购买 nike

有没有一种好方法可以检查数据库中现有表中与特定格式匹配的数量?

例如,我要查找以'rangtable'开头的任何表名,例如'rangtable1''rangtable2' , 'rangtable3'....等等,在这种情况下,它返回三个。

我不确定是否有我需要在 SQL 领域中搜索的查询或术语。我想出的最好办法是做一个完整的表查询,然后做一个 fetchall(我正在使用 Python 和 PostgreSQL),而不是尝试用结果做一些正则表达式匹配。

Is there a better way?

最佳答案

可以查询the Postgres INFORMATION_SCHEMA.TABLES view :

SELECT COUNT(*) AS cnt 
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name LIKE 'rangtable%';

如果您需要匹配正则表达式(您提供的简单模式不是这种情况),您可以使用运算符 SIMILAR TO,或者更好的 POSIX 运算符 ~ :

SELECT COUNT(*) AS cnt 
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name ~ '^rangtable';

关于sql - PostgreSQL 检查匹配正则表达式的表数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54584440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com