抱歉的标题。我正在尝试使用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_
作为列名一部分的所有列。目前有办法做到这一点吗?
在此方面的任何帮助将不胜感激,因为这将是一种很棒的功能/能力。