我是使用 bq(Big Query 命令行实用程序)的新手。我有一个更复杂的 SQL 子句,不幸的是在 SQL 语句中同时包含撇号和引号字符。由于这两个字符都在 SQL 语句中,我正在寻找它们的替代品,否则其中一个或另一个将被解释为“查询结束”分隔符。
下面是我尝试运行的查询,它在 Big Query html 界面上运行良好,但使用 bq 命令行实用程序时效果不佳。关于替换撇号或引号以使此东西运行的建议?是否有任何选项可以将文件内容传递给 bq 查询命令,以便可以将复杂查询存储在文件中?(也更容易在文件中阅读而不是挤在一行上)。
bq 查询 'SELECT regexp_extract(meta, r'\"bldid\":\"(.*?)\"') as bldid FROM stuff.201308010000 LIMIT 10'
[编辑] 在玩了这个之后,看起来这是一个简单的修复。如果引号用于 BEG 和 END 分隔符,则查询有效。
bq 查询 "SELECT regexp_extract(meta, r'\"bldid\":\"(.*?)\"') as bldid FROM stuff.201308010000 LIMIT 10"
不知道为什么这不适用于撇号来标记查询的开始和结束。