google bigquery -忽略大小写查询问题,保存到表中并使用允许大结果



我需要在查询中不区分大小写,所以我发现IGNORE CASE在针对浏览器的查询中使用时效果非常好(我正在谈论BQ web UI)。如果我选择一个目标表(对我来说绝对必须)并选择Allow Large Results(未选中Flatten Results),那么我会得到一个像这样的神秘错误:

Error: unexpected LIMIT clause at: 2.200 - 2.206

尽管这个官方Google BigQuery问题和功能请求跟踪帖子似乎谈到了同样的问题,尽管这个问题似乎在2015年1月就已经被承认了,但解决方案并不明显。

我可以使用一堆带有小写搜索列的临时表作为解决方案,但是由于我拥有的表和列的数量以及我打算运行的复杂查询,这听起来非常困难。

还有其他可能的解决方法吗?为什么这个在BQ上还不起作用?

是的,这是一个已知的问题,而且没有被忽视。修复它的代码更改(令人惊讶的是)不是微不足道的,但它们大多已经完成了。没有团队仔细研究如何启用和部署它们。我不能给你一个时间表,但解决这个问题的方法即将到来。

在此期间,唯一的解决方法是将所有字符串比较,字符串GROUP BYs和字符串ORDER BYs转换为操作数的LOWER()(或UPPER())。

最新更新