You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Informatica reg_match/reg_extract表达式转HQL 求助及逻辑解析

Informatica表达式解析与HQL转换

原表达式逻辑拆解

原Informatica表达式的执行逻辑如下:

  • 若NAME字段为空,返回固定字符#
  • 若NAME非空,先将其转为大写,检查字符串中是否包含逗号+任意数量空格+CLASS(不区分大小写)
  • 若匹配成功,使用不区分大小写的正则规则,提取NAME中逗号及后续空格之前的所有内容;匹配失败则直接返回原NAME值

对应HQL转换结果

CASE
    WHEN NAME IS NULL THEN '#'
    WHEN UPPER(NAME) RLIKE '.*\\,\\s*CLASS.*' THEN regexp_extract(NAME, '(?i)(.*)\\,\\s*(Class\\s*U.*)$', 1)
    ELSE NAME
END

转换说明

  1. HQL用CASE WHEN替代Informatica的iif分支判断函数
  2. 空值判断用NAME IS NULL替代ISNULL(NAME)
  3. 正则匹配用RLIKE替代reg_match,结合UPPER()实现不区分大小写的匹配逻辑
  4. 正则提取用regexp_extract替代REG_EXTRACT,通过在正则模式前加(?i)开启不区分大小写模式,指定分组序号1提取目标内容

内容的提问来源于stack exchange,提问作者Ezio_s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 02:22:52