如何指定Snowflake中DESCRIBE TABLE返回的列?
在Snowflake中仅获取表列的name和comment信息
要实现只提取DESCRIBE TABLE结果里的name和comment列,你可以利用Snowflake的RESULT_SCAN函数读取DESCRIBE语句的临时结果集,再筛选目标列。
方法一:分两步执行
- 先执行表描述语句:
DESCRIBE TABLE a_table;
- 立即执行以下查询提取指定列:
SELECT "name", "comment" FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));
方法二:单语句合并执行
如果不想分两次操作,可以把逻辑合并成一条SQL直接返回目标列:
SELECT "name", "comment" FROM TABLE(RESULT_SCAN((SELECT LAST_QUERY_ID() FROM (DESCRIBE TABLE a_table))));
说明
RESULT_SCAN是Snowflake专门用来读取最近查询结果集的函数,LAST_QUERY_ID()会自动获取上一次执行的DESCRIBE TABLE的查询ID,确保读取的是正确结果。- 列名
name和comment需要用双引号包裹,因为它们属于Snowflake的关键字。
内容的提问来源于stack exchange,提问作者Zweifler
相关产品推荐
相关产品推荐

