如何查找具有与特定模式匹配的列名的所有表/视图

cam*_*mil 5 teradata

如何查找列名与模式匹配的所有表或视图.

模式是一个简单的LIKE %abcd%模式,而不是正则表达式.

查询或查询应返回视图和表.

dno*_*eth 14

dbc.ColumnsV存储列信息:

SELECT DatabaseName, TableName, ColumnName
FROM dbc.ColumnsV
WHERE ColumnName LIKE '%abcd%'
;
Run Code Online (Sandbox Code Playgroud)

这可能还会返回Stored Prodedures或Macros,因此您最好加入dbc.TablesV:

SELECT t.DatabaseName, t.TableName, t.TableKind, ColumnName
FROM dbc.TablesV AS t JOIN dbc.ColumnsV AS c
  ON t.DatabaseName = c.DatabaseName
 AND t.TableName = c.TableName 
WHERE ColumnName LIKE '%abcd%'
AND TableKind in ('T','V') 
;
Run Code Online (Sandbox Code Playgroud)