Exibiçã oCOLUMNS (vários esquemas): Nova coluna (pendente)

Atenção

Essa alteração de comportamento está no pacote 2025_07.

Para saber o status atual do pacote, consulte Histórico do pacote.

Quando esse pacote de mudança de comportamento está habilitado, a exibição COLUMNS em Account Usage, Organization Usage e Information Schema inclui a seguinte nova coluna:

Nome da coluna

Tipo de dados

Descrição

data_type_alias

VARCHAR

O tipo de dados alias ou sinônimo especificado para a coluna quando a tabela foi criada ou quando a coluna foi alterada pela última vez.

Para colunas em tabelas que foram criadas antes desta mudança de comportamento e não alteradas após a mudança de comportamento, o valor nesta coluna é NULL.

O data_type A coluna mostra o tipo de dados padrão do Snowflake da coluna. O data_type_alias A coluna exibe o nome original do tipo de dados que foi especificado para uma coluna quando uma tabela foi criada ou quando a coluna foi alterada com um ALTER TABLE table ALTER COLUMN column SET DATA TYPE data_type Instrução.

Por exemplo, NUMBER é um tipo de dados padrão do Snowflake. BIGINT é sinônimo de NUMBER. Se você especificar BIGINT como o tipo de dados para uma coluna, o data_type Coluna em COLUMNS exibição mostra NUMBER para esta coluna, mas o data_type_alias A coluna mostra 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          |
+-----------+-----------------+

Quando um tipo de dados Snowflake padrão e não qualificado é especificado para uma coluna, os valores no data_type e data_type_alias As colunas são as mesmas. Por exemplo, se NUMBER é especificado como o tipo de dados de uma coluna, então data_type e data_type_alias no COLUMNS exibição ambos mostram NUMBER como o tipo de dados:

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          |
+-----------+-----------------+

O data_type_alias A coluna mostra o nome exato que foi especificado para um tipo de dados. Por exemplo, a seguinte instrução cria uma tabela com um totalmente qualificado NUMBER Coluna:

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)   |
+-----------+-----------------+

As únicas exceções são Tipos de dados para strings de texto. O tipo de dados padrão do Snowflake para strings de texto é VARCHAR, mas a coluna data_type exibe TEXT para estas colunas:

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)     |
+-------------+-----------+-----------------+

Essa mudança de comportamento afeta todos os scripts ou processos de carregamento de dados que utilizam SELECT * para consultar essas exibições e dependem de um número fixo de colunas. Para evitar qualquer interrupção, revise seus scripts e aplicativos. Atualização de qualquer consulta em ACCOUNT_USAGE.COLUMNS, ORGANIZATION_USAGE.COLUMNSe INFORMATION_SCHEMA.COLUMNS para especificar as colunas exatas necessárias, em vez de usar SELECT *.

Ref: 2061