如何解决bigquery中的REGEXP_CONTAINS订单和Case语句
我使用的是case语句和REGEXP_CONTAINS。只是想看看下面的命令是否可以给我正确的输出。
(CASE
WHEN REGEXP_CONTAINS(AdSet,'(?i)BUS') THEN "BUS"
WHEN REGEXP_CONTAINS(AdSet,'(?i)BRA') THEN "BR"
WHEN REGEXP_CONTAINS(AdSet,'(?i)DIG') THEN "TR"
WHEN REGEXP_CONTAINS(AdSet,'(?i)INS') THEN "INS"
WHEN REGEXP_CONTAINS(AdSet,'(?i)INV') THEN "INV"
WHEN REGEXP_CONTAINS(AdSet,'(?i)SAV') THEN "SAV"
WHEN REGEXP_CONTAINS(AdSet,'(?i)TRA') THEN "TR"
WHEN REGEXP_CONTAINS(AdSet,'(?i)CC') THEN "CC"
WHEN REGEXP_CONTAINS(AdSet,'(?i)HL') THEN "HL"
WHEN REGEXP_CONTAINS(AdSet,'(?i)BR') THEN "BR"
END) as pf
解决方法
如果您希望对关键字进行不区分大小写的搜索,似乎是正确的,而通常,字符串函数比REGEX函数更有效,请考虑:
REGEXP_CONTAINS(AdSet,'(?i)BUS') THEN "BUS"
=>
STRPOS(UPPER(AdSet),'BUS') <> 0 THEN "BUS"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。