2017-07-13 9 views
0

名前に基づいてデータベース全体の列を見つける方法やツールはSQL Server 2016にありますか?SQL Serverデータベースの特定の列を検索する方法は?

例:ProductNumberを見つけて、それは以下のようにクエリを使用することができ、あなたにそれを

+2

'COLUMN_NAME =「ProductNumber'' information_schema.columnsから選択* –

答えて

1

データベースに定義されているすべての列のスキーマ構造。

このクエリを使用する:

select * from information_schema.columns where column_name = 'ProductNumber' 

結果はあなたに列を与えるだろう:このデータベース列の

TABLE_NAMETABLE_CATALOGDATA_TYPEとより多くのプロパティを。名前でデータベースオブジェクト(例えばテーブル、カラム、トリガー)を見つけるために必要がある場合は

SELECT * 
FROM information_schema.columns 
WHERE column_name = 'YourColumnName'; 

-- OR 

SELECT col.name, tab.name 
FROM sys.columns col 
INNER JOIN sys.tables tab 
    ON tab.object_id = col.object_id 
WHERE col.name = 'YourColumnName'; 
1

を持っているすべてのテーブル(複数可)を示しています。あなたが保持するデータベースのinformation_schema.columnsテーブルを照会することができます

select * 
from information_schema.columns 
where column_name = 'ProductNumber' 
1

いくつかのオプションがあなたにご利用いただけますどのような種類の文字列であれ、データベース全体を検索します。

enter image description here

enter image description here

それは任意のDBAやデータベース開発者のための素晴らしい必携ツールだ - 私はすでに、それは絶対に使用のいずれかの種類のために使用する無料です言及しませんでした?

1

からSQL Search呼ばFREEレッドゲートのツールを見てみましょう:

0
SELECT 
so.name "table name", 
sc.name "column name" 
FROM sysobjects so 
INNER JOIN syscolumns sc 
ON so.id = sc.id 
WHERE --so.type='U' 

- そして

sc.name like '%ProductN%' 
order by so.name asc 
関連する問題