【发布时间】:2020-07-13 13:09:42
【问题描述】:
我正在尝试找到一种解决方案来根据条件选择 Snowflake 中的列。 例如,我只想选择包含字符串“id”的列或仅选择数字列。
这些情况有什么解决办法吗?
最好的问候
【问题讨论】:
-
答案是:
WHERE。如果您想要更具体的答案,请提供示例数据和对数据的更多说明。
标签: sql snowflake-cloud-data-platform snowflake-schema
我正在尝试找到一种解决方案来根据条件选择 Snowflake 中的列。 例如,我只想选择包含字符串“id”的列或仅选择数字列。
这些情况有什么解决办法吗?
最好的问候
【问题讨论】:
WHERE。如果您想要更具体的答案,请提供示例数据和对数据的更多说明。
标签: sql snowflake-cloud-data-platform snowflake-schema
您可以使用以下内容。以下过程查询帐户使用模式并生成列列表,然后返回基于表和列类型的查询。这可以扩展
create or replace procedure column_list (TBL_NAME STRING, COL_TYPE STRING)
returns string
language javascript
as
$$
var sql_stmt = `select listagg(column_name,',') as col1 from snowflake.account_usage.columns
where table_name = 'FOO' and table_schema = 'PUBLIC' and DATA_TYPE = '` + COL_TYPE + `' and DELETED IS NULL;`;
var create_log_table_stmt = snowflake.createStatement({ sqlText: sql_stmt });
var rs = create_log_table_stmt.execute();
rs.next();
var result = rs.getColumnValue(1);
var final_query = "select " + result + " from " + TBL_NAME;
return final_query;
$$
;
call column_list ('FOO', 'NUMBER');
【讨论】: