次の方法で共有


COL_NAME(Transact-SQL)

対象者:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analyticsアナリティクスプラットフォームシステム(PDW)Microsoft FabricにおけるSQLデータベース

この関数は、テーブルの ID 番号とそのテーブルの列の ID 番号に基づいて、テーブルの列の名前を返します。

Transact-SQL 構文表記規則

構文

COL_NAME ( table_id , column_id )

引数

table_id

その列を含むテーブルの ID 番号。 table_id 引数は int データ型です。

column_id

列の ID 番号。 column_id 引数は int データ型です。

戻り値の型

sysname

例外

エラーが発生した場合、または呼び出し元にオブジェクトを表示するための適切なアクセス許可がない場合に NULL を返します。

ユーザーは、ユーザーが所有しているセキュリティ保護可能なリソース、またはユーザーにアクセス許可が付与されているセキュリティ保護可能なリソースのメタデータのみを表示できます。 つまり、ユーザーがオブジェクトに対する適切なアクセス許可を持っていない場合、 COL_NAME などのメタデータ出力の組み込み関数は NULLを返す可能性があります。 詳細については、「 メタデータの可視性の構成」を参照してください。

解説

Table_idcolumn_id パラメーターが同時に、列名文字列を生成します。

テーブルと列の識別番号の取得の詳細については、 OBJECT_IDを参照してください。

この記事のコード サンプルでは、AdventureWorks2025 または AdventureWorksDW2025 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。

A。 テーブル内の最初の 2 つの列の名前を返します

次の使用例は、 Person.Person テーブルの最初の 2 つの列の名前を返します。

USE AdventureWorks2022;
GO

SELECT COL_NAME(OBJECT_ID('Person.Person'), 1) AS FirstColumnName,
       COL_NAME(OBJECT_ID('Person.Person'), 2) AS SecondColumnName;

結果セットは次のとおりです。

FirstColumnName    SecondColumnName
-----------------  -----------------
BusinessEntityID    PersonType