2013-12-20 44 views
0

由于有许多列的列很多,我需要一个查询来搜索特定表中的列名。在oracle中搜索列名称

例如:

select column_name from table where column_name like '%ID%' 
+0

你使用的是Oracle或MySQL?你想要查询什么?列名称和它们所属的表的列表或数据? – Mureinik

+0

Oracle,我正在寻找列名称列表,而不是数据。谢谢 – msjsam

回答

8

For Oracle

select COLUMN_NAME from ALL_TAB_COLUMNS 
    where TABLE_NAME='mytable' and COLUMN_NAME like '%ID%'; 
+0

感谢这对我有用,一个注意事项是使用Oracle中的所有大写字母。谢谢 – msjsam

1

假设你是在Oracle数据库上,试试这个:

select column_name 
from user_tab_columns 
where table_name = 'MY_TABLE' and column_name like '%ID%'; 

如果表是在不同的模式中,你可以使用:

select column_name 
from all_tab_columns 
where owner = 'TABLE_OWNER' and table_name = 'MY_TABLE' and column_name like '%ID%'; 
1

试试这个:

SELECT * FROM ALL_TAB_COLUMNS 
WHERE COLUMN_NAME LIKE '%ID%' 
AND owner = 'database_name' AND table_name = 'MY_TABLE';