SHOW COLUMNS¶
アクセス権限があるテーブルまたはビューの列を一覧表示します。このコマンドを使用して、指定したテーブル/ビュー/スキーマ/データベース(またはセッションの現在のスキーマ/データベース)、またはアカウント全体の列をリストできます。
- こちらもご参照ください:
-
COLUMNS ビュー (情報スキーマ)
構文¶
SHOW COLUMNS [ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <database_name> ] | SCHEMA [ <schema_name> ] | TABLE | [ TABLE ] <table_name> | VIEW | [ VIEW ] <view_name> } ]
パラメーター¶
LIKE '<パターン>'
オブジェクト名でコマンド出力をフィルターします。フィルターは、 SQL ワイルドカード文字(
%
および_
)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは同じ結果を返します。
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
IN { ACCOUNT | DATABASE [ <データベース名> ] | SCHEMA [ <スキーマ名> ] | TABLE | [ TABLE ] <テーブル名> | VIEW | [ VIEW ] <ビュー名> }
コマンドのスコープを指定します。これにより、コマンドが現在または指定のデータベース、スキーマ、テーブル、またはビューの記録のみをリストするか、アカウント全体の記録をリストするかを決定します。
キーワード
ACCOUNT
を指定すると、コマンドは、現在のアカウントのデータベースすべてにあるすべてのスキーマの記録を取得します。キーワード
DATABASE
を指定すると、次のようになります。db_name
を指定すると、コマンドは、指定されたデータベースのスキーマすべての記録を取得します。db_name
を指定しない場合は、次のようになります。現在のデータベースがある場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。
現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとスキーマの記録を取得します。
キーワード
SCHEMA
を指定すると、次のようになります。修飾されたスキーマ名(例:
my_database.my_schema
)を指定すると、コマンドは、指定されたデータベースとスキーマの記録を取得します。修飾されていない
schema_name
を指定すると、次のようになります。現在のデータベースがある場合、コマンドは、現在のデータベースにある指定されたスキーマの記録を取得します。
現在のデータベースがない場合、コマンドは、エラー
SQL compilation error: Object does not exist, or operation cannot be performed
を表示します。
schema_name
を指定しない場合は、次のようになります。現在のデータベースがある場合は、次のようになります。
現在のスキーマがある場合、コマンドは、現在のデータベースにある現在のスキーマの記録を取得します。
現在のスキーマがない場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。
現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとすべてのスキーマの記録を取得します。
table_name
なしでキーワードTABLE
を指定すると、次のようになります。現在のデータベースがある場合は、次のようになります。
現在のスキーマがある場合、コマンドは、現在のデータベースにある現在のスキーマの記録を取得します。
現在のスキーマがない場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。
現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとすべてのスキーマの記録を取得します。
<テーブル名>
(キーワードTABLE
の有無にかかわらず)を指定すると、次のようになります。完全修飾された
<テーブル名>
(例:my_database_name.my_schema_name.my_table_name
)を指定すると、コマンドは指定されたテーブルのすべての記録を取得します。スキーマ修飾された
<テーブル名>
(例:my_schema_name.my_table_name
)を指定すると、次のようになります。現在のデータベースが存在する場合、コマンドは、指定されたテーブルのすべての記録を取得します。
現在のデータベースが存在しない場合、コマンドは
Cannot perform SHOW <オブジェクト型>. This session does not have a current database...
のようなエラーを表示します。
修飾されていない
<テーブル名>
を指定すると、次のようになります。現在のデータベースと現在のスキーマが存在する場合、コマンドは、現在のデータベースにおける現在のスキーマで指定されたテーブルの記録を取得します。
現在のデータベースが存在しないか、現在のスキーマが存在しない場合、コマンドは、
SQL compilation error: <オブジェクト> does not exist or not authorized.
のようなエラーを表示します。
キーワード
VIEW
またはビュー名を指定すると、ビューのルールはテーブルのルールと平行します。デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
DATABASE
がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。データベースなし:
ACCOUNT
はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。
使用上の注意¶
プレフィックス
is_
で始まる列は、Y
(はい)またはN
(いいえ)のいずれかを返します。このコマンドの実行は、稼働中のウェアハウスを必要としません。
コマンドは、コマンドを実行するために使用されるロールのアクセス権によって決定された通り、指定されたオブジェクトタイプに対して 最大 10Kの記録を返します。フィルタが適用されていても、10Kの制限を超える記録は返されません。
10Kを超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。
キーワード
VIEW
を使用してビュー名を指定すると、ビューはマテリアライズドビューまたは非マテリアライズドビューになります。
出力¶
コマンド出力は、次の列の列プロパティとメタデータを提供します。
列 |
説明 |
---|---|
|
列が属するテーブルの名前。 |
|
テーブルのスキーマ。 |
|
列の名前。 |
|
列のデータ型と、長さ、精度、スケール、null許容などの適用可能なプロパティ。文字列と数値列は、定義されたデータ型ではなく、一般的なデータ型を表示することに注意してください(つまり、 TEXT はすべての文字型向け、 FIXED はすべての固定小数点数値型向け、および REAL はすべての浮動小数点数値型向け)。 |
|
列に NULL 値を含めることができるかどうか。 |
|
列に定義されているデフォルト値(ある場合)。 |
|
列には適用されません(値として常に COLUMN を表示)。 |
|
|
|
列に対するコメント(ある場合)。 |
|
テーブルのデータベース。 |
|
列の開始値と増分値(存在する場合)の自動増分。列が NOORDER プロパティを持つ場合は、値に |
|
指定されたテーブルの列に対してトリガーされた最新のスキーマ進化に関する情報を記録します。この列には以下のサブフィールドが含まれています。
|
例¶
create or replace table dt_test (n1 number default 5, n2_int integer default n1+5, n3_bigint bigint autoincrement, n4_dec decimal identity (1,10),
f1 float, f2_double double, f3_real real,
s1 string, s2_var varchar, s3_char char, s4_text text,
b1 binary, b2_var varbinary,
bool1 boolean,
d1 date,
t1 time,
ts1 timestamp, ts2_ltz timestamp_ltz, ts3_ntz timestamp_ntz, ts4_tz timestamp_tz);
show columns in table dt_test;
+------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------+
| table_name | schema_name | column_name | data_type | null? | default | kind | expression | comment | database_name | autoincrement |
|------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------|
| DT_TEST | PUBLIC | N1 | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | 5 | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | N2_INT | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | DT_TEST.N1 + 5 | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | N3_BIGINT | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | | COLUMN | | | TEST1 | IDENTITY START 1 INCREMENT 1 |
| DT_TEST | PUBLIC | N4_DEC | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | | COLUMN | | | TEST1 | IDENTITY START 1 INCREMENT 10 |
| DT_TEST | PUBLIC | F1 | {"type":"REAL","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | F2_DOUBLE | {"type":"REAL","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | F3_REAL | {"type":"REAL","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S1 | {"type":"TEXT","length":16777216,"byteLength":16777216,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S2_VAR | {"type":"TEXT","length":16777216,"byteLength":16777216,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S3_CHAR | {"type":"TEXT","length":1,"byteLength":4,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S4_TEXT | {"type":"TEXT","length":16777216,"byteLength":16777216,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | B1 | {"type":"BINARY","length":8388608,"byteLength":8388608,"nullable":true,"fixed":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | B2_VAR | {"type":"BINARY","length":8388608,"byteLength":8388608,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | BOOL1 | {"type":"BOOLEAN","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | D1 | {"type":"DATE","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | T1 | {"type":"TIME","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS1 | {"type":"TIMESTAMP_LTZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS2_LTZ | {"type":"TIMESTAMP_LTZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS3_NTZ | {"type":"TIMESTAMP_NTZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS4_TZ | {"type":"TIMESTAMP_TZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
+------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------+