DESCRIBE TABLE¶
テーブルの列、またはテーブルのステージプロパティのセット(現在の値とデフォルト値)を記述します。
DESCRIBE は DESC に短縮できます。
- こちらもご参照ください。
構文¶
{ DESCRIBE | DESC } TABLE <name> [ TYPE =  { COLUMNS | STAGE } ]
パラメーター¶
- name
- 記述するテーブルの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。 
- TYPE = COLUMNS | STAGE
- テーブルの列を表示するか、テーブルのステージプロパティ(現在の値とデフォルト値を含む)を表示するかを指定します。 - デフォルト: - TYPE = COLUMNS
使用上の注意¶
- このコマンドは、テーブルのオブジェクトパラメーターを表示しません。代わりに、 SHOW PARAMETERS IN TABLE を使用してください。 
- DESCRIBE TABLE と DESCRIBE VIEW は交換可能です。どちらのコマンドも、指定されたテーブルまたはビューの詳細を返します。しかし、ビューにはステージ・プロパティがないため、 - TYPE = STAGEはビューには適用されません。
- テーブルスキーマの進化が有効な場合は、出力に - SchemaEvolutionRecord列が含まれます。この列は、 2023_08バンドル(一般で有効) で導入されました。詳細については、 テーブルスキーマの進化 をご参照ください。
- 出力には - policy name列が含まれ、列に直接設定する:doc:- マスキングポリシー </user-guide/security-column-intro>を示します。列が タグベースのマスキングポリシー で保護されている場合、Snowflakeは- NULLを返します。- 列にマスキングポリシーが直接設定されていない場合、またはSnowflakeアカウントがEnterprise Edition以上でない場合、Snowflakeは - NULLを返します。
- 出力には - privacy domain列が含まれ、列に設定された マスキングポリシー を示します。- 列にマスキングポリシーが設定されていない場合、またはSnowflakeアカウントがEnterprise Edition以上でない場合、Snowflakeは - NULLを返します。
- このコマンドの出力を後処理するには、 パイプ演算子 ( - ->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。- このコマンドの出力列名は小文字で生成されます。パイプ演算子または でこのコマンドの結果セットを消費する場合 RESULT_SCAN 関数の場合は、を使用します 二重引用符で囲まれた識別子 クエリの列名に を使用し、スキャンされた出力の列名と一致するようにします。たとえば、出力列の名前が次の場合 - type``次に を指定します ``"type"識別子用。
出力¶
TYPE = COLUMNS の場合、コマンド出力は以下のプロパティとメタデータを提供します。
| 列 | 説明 | 
|---|---|
| 
 | テーブル内にある列の順序位置。 | 
| 
 | テーブルの列のデータ型。列に 照合 が指定されている場合、照合仕様が含まれます。 | 
| 
 | この値はSnowflakeテーブルでは常に  | 
| 
 | 列が NULL 値 ( | 
| 
 | もしあれば、列のデフォルト値(そうでなければ  | 
| 
 | 列が主キー (または複数列の主キーの一部;  | 
| 
 | 列が UNIQUE制約 ( | 
| 
 | 今後の使用のために予約されています。 | 
| 
 | 今後の使用のために予約されています。 | 
| 
 | もしあれば、列に設定されたコメント(そうでなければ  | 
| 
 | 列に マスキング・ポリシー が設定されている場合(そうでない場合は  | 
| 
 | 列に プライバシードメイン が設定されている場合(そうでない場合は  | 
| 
 | 指定されたテーブルの列に対してトリガーされた最新のスキーマ進化に関する情報を記録します。この列には以下のサブフィールドが含まれています。 
 | 
TYPE = STAGE の場合、コマンド出力はテーブルのステージ・プロパティの現在値とデフォルト値を提供します。例: ステージの特性を説明する をご参照ください。
例¶
以下の例は、テーブルの記述方法を示しています。
例: 制約とその他の列属性を持つテーブルを記述する¶
5つの列と2つの制約を持つテーブルを作成する。1列に DEFAULT 値とコメントをつける。
CREATE OR REPLACE TABLE desc_example(
  c1 INT PRIMARY KEY,
  c2 INT,
  c3 INT UNIQUE,
  c4 VARCHAR(30) DEFAULT 'Not applicable' COMMENT 'This column is rarely populated',
  c5 VARCHAR(100));
テーブルの列を説明します。
DESCRIBE TABLE desc_example;
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
| name | type         | kind   | null? | default          | primary key | unique key | check | expression | comment                         | policy name | privacy domain | schema evolution record |
|------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------|
| C1   | NUMBER(38,0) | COLUMN | N     | NULL             | Y           | N          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
| C2   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
| C3   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | Y          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
| C4   | VARCHAR(30)  | COLUMN | Y     | 'Not applicable' | N           | N          | NULL  | NULL       | This column is rarely populated | NULL        | NULL           | NULL                    |
| C5   | VARCHAR(100) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
例: 列にマスキングポリシーを持つテーブルを記述する¶
通常のマスキング・ポリシー を作成し、マスキング・ポリシーを 1 つの列に設定した desc_example テーブルを再作成する。(この例を実行するには、 email_mask マスキングポリシーを最初に作成する)。
CREATE OR REPLACE TABLE desc_example(
  c1 INT PRIMARY KEY,
  c2 INT,
  c3 INT UNIQUE,
  c4 VARCHAR(30) DEFAULT 'Not applicable' COMMENT 'This column is rarely populated',
  c5 VARCHAR(100) WITH MASKING POLICY email_mask);
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
| name | type         | kind   | null? | default          | primary key | unique key | check | expression | comment                         | policy name                     | privacy domain | schema evolution record |
|------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------|-------------------------|
| C1   | NUMBER(38,0) | COLUMN | N     | NULL             | Y           | N          | NULL  | NULL       | NULL                            | NULL                            | NULL           | NULL                    |
| C2   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | NULL                            | NULL           | NULL                    |
| C3   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | Y          | NULL  | NULL       | NULL                            | NULL                            | NULL           | NULL                    |
| C4   | VARCHAR(30)  | COLUMN | Y     | 'Not applicable' | N           | N          | NULL  | NULL       | This column is rarely populated | NULL                            | NULL           | NULL                    |
| C5   | VARCHAR(100) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | HT_SENSORS.HT_SCHEMA.EMAIL_MASK | NULL           | NULL                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
例: ステージの特性を説明する¶
同じテーブルの現在のステージ・プロパティを記述する(ここでは最初の5行のみが示される):
DESCRIBE TABLE desc_example TYPE = STAGE;
+--------------------+--------------------------------+---------------+-----------------+------------------+
| parent_property    | property                       | property_type | property_value  | property_default |
|--------------------+--------------------------------+---------------+-----------------+------------------|
| STAGE_FILE_FORMAT  | TYPE                           | String        | CSV             | CSV              |
| STAGE_FILE_FORMAT  | RECORD_DELIMITER               | String        | \n              | \n               |
| STAGE_FILE_FORMAT  | FIELD_DELIMITER                | String        | ,               | ,                |
| STAGE_FILE_FORMAT  | FILE_EXTENSION                 | String        |                 |                  |
| STAGE_FILE_FORMAT  | SKIP_HEADER                    | Integer       | 0               | 0                |
...