COLUMNS-Ansicht (mehrere Schemas): Neue Spalte (ausstehend)¶
Achtung
Diese Verhaltensänderung ist in Bundle 2025_07 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Wenn dieses Verhaltensänderungs-Bundle aktiviert ist, enthält die Ansicht COLUMNS in Account Usage, Organization Usage und Information Schema die folgende neue Spalte:
Spaltenname |
Datentyp |
Beschreibung |
|---|---|---|
|
VARCHAR |
Der Datentyp-Alias oder das Synonym, das angegeben wurde, als die Tabelle erstellt wurde oder als die Spalte zuletzt geändert wurde. Für Spalten in Tabellen, die vor dieser Verhaltensänderung erstellt und danach nicht geändert wurden, lautet der Wert in dieser Spalte NULL. |
Die Spalte data_type zeigt den Snowflake-Standarddatentyp der Spalte an. Die Spalte data_type_alias zeigt den ursprünglichen Datentypnamen an, der für eine Spalte angegeben wurde, als die Tabelle erstellt wurde oder die Spalte mit einer ALTER TABLE table ALTER COLUMN column SET DATA TYPE data_type-Anweisung geändert wurde.
Beispiel: NUMBER ist ein Standard-Snowflake-Datentyp. BIGINT ist gleichbedeutend mit NUMBER. Wenn Sie BIGINT als Datentyp für eine Spalte angeben, zeigt die data_type-Spalte in der COLUMNS-Ansicht NUMBER für diese Spalte an, aber die data_type_alias-Spalte zeigt BIGINT an:
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';
+-----------+-----------------+
| DATA_TYPE | DATA_TYPE_ALIAS |
|-----------+-----------------|
| NUMBER | BIGINT |
+-----------+-----------------+
Wenn für eine Spalte ein standardmäßiger, nicht qualifizierter Snowflake-Datentyp angegeben wird, sind die Werte in den Spalten data_type und data_type_alias identisch. Beispiel: Wenn NUMBER als Datentyp einer Spalte angegeben wird, dann zeigen data_type und data_type_alias in der COLUMNS-Ansicht beide NUMBER als Datentyp an:
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';
+-----------+-----------------+
| DATA_TYPE | DATA_TYPE_ALIAS |
|-----------+-----------------|
| NUMBER | NUMBER |
+-----------+-----------------+
Die Spalte data_type_alias zeigt den genauen Namen an, der für einen Datentyp angegeben wurde. Die folgende Anweisung erstellt beispielsweise eine Tabelle mit einer vollqualifizierten NUMBER-Spalte:
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';
+-----------+-----------------+
| DATA_TYPE | DATA_TYPE_ALIAS |
|-----------+-----------------|
| NUMBER | NUMBER(16, 2) |
+-----------+-----------------+
Die einzigen Ausnahmen sind Datentypen für Textzeichenfolgen. Der Snowflake-Standarddatentyp für Textzeichenfolgen ist VARCHAR, aber die Spalte data_type zeigt TEXT für diese Spalten an:
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;
+-------------+-----------+-----------------+
| COLUMN_NAME | DATA_TYPE | DATA_TYPE_ALIAS |
|-------------+-----------+-----------------|
| C | TEXT | CHAR |
| S | TEXT | STRING |
| T | TEXT | TEXT |
| V | TEXT | VARCHAR |
| VQ | TEXT | VARCHAR(25) |
+-------------+-----------+-----------------+
Diese Verhaltensänderung wirkt sich auf alle Skripte oder Datenladeprozesse aus, die mit SELECT * diese Ansichten abfragen und die von einer festen Anzahl von Spalten abhängig sind. Überprüfen Sie Ihre Skripte und Anwendungen, um Unterbrechungen zu vermeiden. Aktualisieren Sie alle Abfragen auf ACCOUNT_USAGE.COLUMNS, ORGANIZATION_USAGE.COLUMNSund INFORMATION_SCHEMA.COLUMNS, um die genau benötigten Spalten anzugeben, statt SELECT * zu verwenden.
Ref: 2061