今天接到任务,要从数据库中查询数据,对于postgresql 我并不熟悉,问了百度,问了通义千问。发现Postgresql 在写query sql 的时候,可以使用正则匹配,不单是使用like 这种关键字。我像发现了新大陆一样的兴奋。我觉得这个设计真的很好。也许其他的数据库也有这样的操作,只是我没有发现。于是我赶紧写下来。以备后期查看。
SELECT table_name
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'pg_catalog') -- 排除系统 schemaAND table_name ILIKE '%System%' -- 匹配表名包含 "System"(不区分大小写)AND table_name ~ '\d{8}' -- 确保表名中包含8位数字(作为日期)
ORDER BY CAST(substring(table_name FROM '\d{8}') AS DATE) ASC; -- 提取8位数字并转为日期排序