回答:
information_schema
これは、標準に準拠したクロスRDBMSによる方法です。
SELECT table_catalog, table_schema, table_name, column_name
FROM INFORMATION_SCHEMA.columns
WHERE column_name = '<your column name>';
あなたはこれを文書化して見ることができます
INFORMATION_SCHEMA
たち自身の@AaronBertrand(sqlblog.com/blogs/aaron_bertrand/archive/2011/11/03/…)を使用しない理由
information_schema.columns
2006年以降、Identityカラムをサポートしています。実装するまでの10年間です。Microsoft SQLが標準をサポートしていない場合は、おそらく標準を検討する必要があります。他の人はします。
IBM DB2の場合、以下を使用します。
select tabschema,tabname from syscat.columns where colname = 'COLUMN_NAME'
DB2では、列名は大文字以外で二重引用符内に定義されていない限り、大文字になります。次に、列名の正確な大文字と小文字も指定する必要があります。
WHERE UPPER(colname) = 'COLUMN_NAME'
。
以下のクエリは、あなたが探しているものを与えるはずです:
use YourDatabase;
go
select
object_schema_name(t.object_id) + '.' + t.name as table_name,
c.name as column_name
from sys.tables t
inner join sys.columns c
on t.object_id = c.object_id
where c.name like '%ColumnSearchText%';
正確な名前の列を探している場合は、WHERE
句を次のように置き換えます。
where c.name = 'ColumnSearchText';
SYNTAX:
SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME='VALUE';
EXAMPLE:
SELECT PERSON_NAME FROM PERSON WHERE PERSON_ID=1;