0

クエリで特定のテーブル名だけを表示することは可能ですか:

USE [WebContact] 

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'

ほとんどの場合、すべてのテーブル名が必要ですが、特定の行名だけが必要な場合もあります。

次のことをしようとすると:

USE [WebContact] 

SELECT COLUMN_NAME, ContactDateTime 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'

それは私にそれを教えてください

無効な列名 'ContactDateTime'

それは行名の 1 つですが。

これは可能ですか?

4

3 に答える 3

2

列はテーブルの列である可能性がありますが、ビューContactDateTimeの列ではありません。INFORMATION_SCHEMA.COLUMNS

そこには列ではないため、SQL Server は無効であるとエラーを出します。

あなたがしようとしているのはWHERE、ステートメントに別の句を追加することだと思います。

USE [WebContact] 
SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
AND [COLUMN_NAME] = 'ContactDateTime'; -- Here!

または、複数の列を追加する場合...

USE [WebContact] 
SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
AND [COLUMN_NAME] 
  IN ('ContactDateTime', 'column2', 'column3', ... 'column(n)'); -- Here!

INFORMATION_SCHEMASの使用に反対するケースについては、こちらも参照してください。

于 2016-04-22T15:59:41.527 に答える
2

ContactDateTime がテーブル memberEmails で探している列である場合、これを行うことができます

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'memberEmails'
and COLUMN_NAME='ContactDateTime'
于 2016-04-22T15:58:41.583 に答える
0

ビューINFORMATION_SCHEMA.COLUMNSには列名がありませんContactDateTime。最初にドキュメントをお読みください

于 2016-04-22T16:00:28.067 に答える