带有LIMIT子句的Bigquery CASE SENSITIVE查询不起作用?

时间:2018-12-19 17:00:42

标签: google-bigquery limit case-sensitive

进行Bigquery查询时,例如:

Select Campaign FROM TABLE WHERE Campaign CONTAINS 'buy' GROUP BY Campaign IGNORE CASE LIMIT 100

与LIMIT子句一起使用时,IGNORE CASE子句不起作用。

前段时间它确实起作用了。 这是Bigquery的错误还是发生了什么变化?

非常感谢 拉米罗

1 个答案:

答案 0 :(得分:1)

这里有几件事:

  • 旧版SQL希望IGNORE CASE出现在查询的末尾,因此您需要使用LIMIT 100 IGNORE CASE而不是IGNORE CASE LIMIT 100
  • 如果您要使用新查询,BigQuery团队建议使用standard SQL而不是旧版SQL,因为它倾向于具有更好的错误消息,更好的性能等,这正是我们正在努力的地方向前。您可能还对migration guide感兴趣。

如果要使用标准SQL进行查询,可以执行以下操作:

Select LOWER(Campaign) AS Campaign
FROM TABLE
WHERE LOWER(Campaign) LIKE '%buy%'
GROUP BY LOWER(Campaign)
LIMIT 100