使用BigQuery SELECT * EXCEPT(),使用字符串匹配选择要包含在EXCEPT()中的列名

时间:2019-12-05 03:53:42

标签: google-bigquery

抱歉的标题。我正在尝试使用BigQuery的SELECT * EXCEPT()语法从我的表中删除大量列。这些列在其列名称中都有相似的字符串,如果我可以在列名称的此相关部分进行字符串/模式匹配以选择/删除这些列,那将是很好的。举一个小例子,我们有下表:

WITH 
  my_table AS (
    SELECT 'nick' as name, 24 as age, 'blue' as color, 7 as num_1, 11 as num_2, 13 as num_3
    UNION ALL SELECT 'joey' as name, 23 as age, 'blue' as color, 8 as num_1, 13 as num_2, 18 as num_3
  )

SELECT * EXCEPT (num_1, num_2, num_3) FROM my_table

以上方法对于删除少量列(在这种情况下为3)效果很好,但是如果我可以执行以下操作会很好:

SELECT * EXCEPT (contains "num_") FROM my_table

...这利用了以下事实:我想删除包含num_作为列名一部分的所有列。目前有办法做到这一点吗?

在此方面的任何帮助将不胜感激,因为这将是一种很棒的功能/能力。

0 个答案:

没有答案