SQL 正则表达式抛出状态=42000,代码=40000

SQL Regex throwing state=42000,code=40000

case regexp_extract(network_information,'^([\w|-]+)[.|;].*',1) then .........

对于这部分代码,我得到 ParseException 行 22:2 无法识别表达式规范中 '*' ',' 'case' 附近的输入(状态=42000,代码= 40000) 谁能帮帮我。

regexp 看起来不错。案例是错误的。应该是这样的:

case when regexp_extract(network_information,'^([\w|-]+)[.|;].*',1) = 'something'
         then ...
 end

或者像这样:

case regexp_extract(network_information,'^([\w|-]+)[.|;].*',1)
     when 'something'      then ...
     when 'something-else' then ...
 end