COLUMNS ビュー(複数のスキーマ):新しい列(保留中)

注意

この動作変更は2025_07バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

この動作変更バンドルを有効にすると、Account Usage、Organization Usage、Information Schemaの COLUMNS ビューに以下の新しい列が追加されます。

列名

データ型

説明

data_type_alias

VARCHAR

テーブルの作成時または列の最終変更時に列に指定されたデータ型のエイリアスまたはシノニム。

この動作変更より前に作成され、動作変更後に変更されなかったテーブルの列の場合、この列の値は NULL です。

data_type 列には、列の標準のSnowflakeデータ型が表示されます。data_type_alias 列には、テーブルの作成時、または ALTER TABLE table ALTER COLUMN column SET DATA TYPE data_type ステートメントで列が変更されたときに列に指定された元のデータ型名が表示されます。

たとえば、 NUMBER は標準のSnowflakeデータ型です。BIGINT は NUMBER と同義です。列のデータ型として BIGINT を指定した場合、 COLUMNS ビューの data_type 列にはこの列に対して NUMBER が表示されますが、 data_type_alias 列には BIGINT が表示されます。

CREATE TABLE test_data_type_alias (b BIGINT);

SELECT data_type, data_type_alias
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = 'TEST_DATA_TYPE_ALIAS';
Copy
+-----------+-----------------+
| DATA_TYPE | DATA_TYPE_ALIAS |
|-----------+-----------------|
| NUMBER    | BIGINT          |
+-----------+-----------------+

列に標準の非修飾Snowflakeデータ型を指定した場合、 data_type 列と data_type_alias 列の値は同じになります。たとえば、列のデータ型として NUMBER を指定した場合、 COLUMNS ビューの data_typedata_type_alias はどちらもデータ型として NUMBER が表示されます。

CREATE TABLE test_data_type_alias_2 (n NUMBER);

SELECT data_type, data_type_alias
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = 'TEST_DATA_TYPE_ALIAS_2';
Copy
+-----------+-----------------+
| DATA_TYPE | DATA_TYPE_ALIAS |
|-----------+-----------------|
| NUMBER    | NUMBER          |
+-----------+-----------------+

data_type_alias 列には、データ型に指定された正確な名前が表示されます。たとえば、次のステートメントは、完全修飾された NUMBER 列を持つテーブルを作成します。

CREATE TABLE test_data_type_alias_3 (n NUMBER(16, 2));

SELECT data_type, data_type_alias
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = 'TEST_DATA_TYPE_ALIAS_3';
Copy
+-----------+-----------------+
| DATA_TYPE | DATA_TYPE_ALIAS |
|-----------+-----------------|
| NUMBER    | NUMBER(16, 2)   |
+-----------+-----------------+

唯一の例外は、テキスト文字列の データ型 。テキスト文字列の標準的なSnowflakeデータ型は VARCHAR ですが、 data_type 列はこれらの列に対して TEXT を表示します。

CREATE TABLE test_data_type_alias_4 (
  c CHAR,
  s STRING,
  t TEXT,
  v VARCHAR,
  vq VARCHAR(25));

SELECT column_name, data_type, data_type_alias
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = 'TEST_DATA_TYPE_ALIAS_4'
  ORDER BY column_name;
Copy
+-------------+-----------+-----------------+
| COLUMN_NAME | DATA_TYPE | DATA_TYPE_ALIAS |
|-------------+-----------+-----------------|
| C           | TEXT      | CHAR            |
| S           | TEXT      | STRING          |
| T           | TEXT      | TEXT            |
| V           | TEXT      | VARCHAR         |
| VQ          | TEXT      | VARCHAR(25)     |
+-------------+-----------+-----------------+

この動作変更は、 SELECT * を使用してこれらのビューをクエリし、固定数の列に依存するスクリプトやデータロード処理に影響します。中断を回避するには、スクリプトとアプリケーションを確認してください。ACCOUNT_USAGE.COLUMNS 、 ORGANIZATION_USAGE.COLUMNS 、および INFORMATION_SCHEMA.COLUMNS に対するクエリを更新し、 SELECT * を使用する代わりに、必要な列を正確に指定してください。

参照:2061