有没有办法选择*除了BigQuery中的[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 使用公共维基百科表格的示例 - 选择除标题和评论之外的所有列:
select * except(title, comment) from publicdata.samples.wikipedia limit 10
除了SELECT * EXCEPT()
语法有一个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;