代码之家  ›  专栏  ›  技术社区  ›  holzben

BigQuery `LIKE ANY`和`NOT LIKE ANY`

  •  0
  • holzben  · 技术社区  · 1 年前

    尝试了解的BigQuery行为 ANY 操作员(另请参阅 here

    以下语句按预期返回true:

    SELECT 'a'      LIKE ANY ('b','%b%', 'b', 'a');
    --true
    

    它基本上回答了这个问题,模式中有“a”吗,是的!

    现在反转该语句也会返回true:

    SELECT 'a'  NOT LIKE ANY ('b','%b%', 'b', 'a');
    -- true
    

    在这种情况下,问题是模式中没有任何“a”,这是错误的,模式中有一个“a”。

    有人能帮我理解BigQuery的行为吗?谢谢

    正在读取抛出的文档中写道:ANY:检查模式集是否至少包含一个与搜索值匹配的模式

    1 回复  |  直到 1 年前
        1
  •  0
  •   nbk    1 年前

    否,第二个查询询问数据库元组中是否有不是

    正如有3一样,你是真的。

    因为你正在搜索的是 NOT IN