【问题标题】:BigQuery modulo operator (%) does not work in WHERE clauseBigQuery 模运算符 (%) 在 WHERE 子句中不起作用
【发布时间】:2017-10-26 18:46:56
【问题描述】:

当我在 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 方言写)

【问题讨论】:

标签: sql google-bigquery


【解决方案1】:

在 where 子句中尝试 mod(id, 10) = 0

【讨论】:

    猜你喜欢
    • 2021-01-09
    • 1970-01-01
    • 2021-11-14
    • 2011-01-10
    • 1970-01-01
    • 2016-11-13
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多