繁体   English   中英

如何在 BigQuery 中将 LIKE 与 ANY 一起使用?

[英]How to use LIKE with ANY in BigQuery?

我想使用 LIKE ANY 运算符基于子字符串数组排除行,但 BigQuery 无法识别它。

     
        declare unlaunched_clistings array<string>;

        set unlaunched_clistings = {unlaunched_clistings} ;

        select * from {p}.simeon_logs.process_errors e
        where not e.message like any(unlaunched_clistings)
        

错误:[8:32] 不支持 LIKE ANY

有什么解决方法吗?

不支持 LIKE ANY,但是您可以使用以下两种方式:

  1. 在它们之间使用 LIKE 和 OR

     WITH table AS ( SELECT 'abc' as col union all SELECT 'xzy' as col ) SELECT col FROM TABLE WHERE (col like '%abc%' OR col like '%cde%' OR col like '%something%')
  2. 用户正则表达式

    WITH table AS ( SELECT 'abc' as col UNION ALL SELECT 'xzy' as col ) SELECT col FROM TABLE WHERE REGEXP_CONTAINS(col, 'abc|cde|something')

以上两者都会给你 abc 行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM