You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake查询表字段如何返回建表时定义的原始数据类型

问题原因

Snowflake 会将常用数据类型别名自动映射为底层标准存储类型:INT 是 NUMBER(38,0) 的别名,VARCHAR 和 TEXT 互为同义词,INFORMATION_SCHEMA.COLUMNS 视图默认的 DATA_TYPE 字段返回的是底层标准化后的通用类型名,所以和你建表时写的别名不一致。

修改方案

方案1:结构化查询具体类型定义

如果你需要获取字段的具体类型参数(比如VARCHAR的长度、NUMBER的精度),可以查询COLUMN_TYPE字段替代DATA_TYPE,查询语句修改为:

select COLUMN_NAME, COLUMN_TYPE
from dbName.information_schema.columns
where table_schema = 'schemaName' and table_name = 'dbdt'

返回的COLUMN_TYPE字段会展示NUMBER(38,0)、VARCHAR(255)这类完整的类型定义。

方案2:获取原始建表语句

如果你需要完全还原建表时写的别名(比如INT而非NUMBER(38,0)),INFORMATION_SCHEMA没有存储原始别名信息,可通过GET_DDL函数直接获取原始建表语句查看:

select GET_DDL('TABLE', 'schemaName.dbdt');

内容的提问来源于stack exchange,提问作者archgnu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:24:00