选择具有特定模式的表名

时间:2019-02-11 09:18:56

标签: sql

我创建了一个查询,以获取所有带有"prefix_"的表名

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME LIKE 'prefix_%' AND TABLE_TYPE = 'BASE TABLE'

但是在我的数据库中,我的表带有prefix_prefix_。 如何避免选择它们?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用子查询而不是

   select * from 
   (
     SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
     WHERE TABLE_NAME LIKE 'prefix_%' and AND TABLE_TYPE = 'BASE TABLE'
   )A where ABLE_NAME LIKE 'prefix_prefix_%'

答案 1 :(得分:2)

您可以通过将异常添加到where子句中来做到这一点。

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME LIKE 'prefix_%' AND TABLE_NAME NOT LIKE 'prefix_prefix_%' AND TABLE_TYPE = 'BASE TABLE'