BigQuery模运算符(%)在WHERE子句中无法使用。

7

当我在BigQuery的WHERE子句中使用模数运算符(%)时,

SELECT * from `our-project.data_set1.table1` WHERE the_id % 10 = 0 LIMIT 1000

出现错误信息如下:

错误:语法错误;在 [1:50] 处有非法输入字符“%”

我进行了如下修改:

SELECT * from `our-project.data_set1.table1` 
WHERE CAST((the_id / 10) AS INT64) * 10 = the_id LIMIT 1000

然而,这似乎是浪费的。

我该如何在BigQuery的WHERE子句中使用模运算?

(在此示例中,我使用了标准SQL方言)


你确定没有模运算函数吗? - Ab Bennett
https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#mathematical-functions - Graham Polley
1个回答

22

在 where 子句中尝试使用mod(id, 10) = 0代替


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接