Select Google BigQuery 中除某些列之外的所有列?

Select All Columns Except Some in Google BigQuery?

有没有办法在 BigQuery 中 Select * 除了 [x,y,z 列名]?我看到了 MySQL 的一些解决方案,但不确定它是否适用于 BQ。

谢谢。

当前的 BigQuery SQL 方言中没有任何内容允许它。但由于这是重复请求,我们已添加工作项以支持

SELECT * EXCEPT (a, b, c) FROM ...

更新:此功能现已在 BigQuery 标准 SQL 中可用。详细信息在 https://cloud.google.com/bigquery/sql-reference/enabling-standard-sql 使用 public 维基百科的示例 table - select 除标题和评论外的所有列:

select * except(title, comment) from publicdata.samples.wikipedia limit 10

除了 SELECT * EXCEPT() syntax there is a SELECT * REPLACE() 语法之外 - 都支持引入标准 SQL
根据文档

,用法简单明了

不太明显的是,您可以在同一个 SELECT 中同时使用两者,如下面的示例

WITH orders AS
  (SELECT 5 as order_id,
  "sprocket" as item_name,
  200 as quantity)
SELECT * EXCEPT (order_id) REPLACE ("widget" AS item_name), "more" as more_fields
FROM orders;