错误:invalid regular expression pattern: in function rlike, pattern cannot be empty string
代码:
MAX(
CASE WHEN c.brand_id IS NULL
OR a.title IS NULL
OR c.op_brand_words IS NULL THEN 0
WHEN c.brand_id IS NOT NULL AND c.op_brand_words = '' THEN 0
WHEN c.brand_id IS NOT NULL AND a.title RLIKE REGEXP_REPLACE(REGEXP_REPLACE(c.op_brand_words,'[[:punct:]]',''),',','|') THEN 1
ELSE 0
END
) AS itm_brand_in_title_b
使用 COALESCE 函数来确保传入 REGEXP_REPLACE 的参数不会是空字符串。
使用 IF 或 CASE WHEN 语句来检查字符串是否为空,并在这种情况下提供一个非空的默认值。
MAX(
CASE
WHEN c.brand_id IS NULL
OR a.title IS NULL
OR c.op_brand_words IS NULL THEN 0
WHEN c.brand_id IS NOT NULL AND c.op_brand_words = '' THEN 0
WHEN c.brand_id IS NOT NULL AND a.title RLIKE COALESCE(REGEXP_REPLACE(REGEXP_REPLACE(c.op_brand_words, '[[:punct:]]', ''), ',', '|'), '') THEN 1
ELSE 0
END
) AS itm_brand_in_title_b
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。