Sql 功能组合不能正常工作
当我尝试使用下面的函数获取结果时,我只得到了SH_CHGDESC下可用的第一个字符串,即FRTRV-1 可用于SH_CHGDESC的字符串为:FRTRV-11;SFARV-13;SCRRV-12 要获取所有可用字符串吗Sql 功能组合不能正常工作,sql,oracle,Sql,Oracle,当我尝试使用下面的函数获取结果时,我只得到了SH_CHGDESC下可用的第一个字符串,即FRTRV-1 可用于SH_CHGDESC的字符串为:FRTRV-11;SFARV-13;SCRRV-12 要获取所有可用字符串吗 If InStr ({pipe.SH_CHGDESC}, "1;") >0 then mid({pipe.SH_CHGDESC},1,InStr ({pipe.SH_CHGDESC}, "1;")-1) 请建议。我认为您只是试图将分隔字符串拆分为多个值;使用CTE中的字符
If InStr ({pipe.SH_CHGDESC}, "1;") >0
then mid({pipe.SH_CHGDESC},1,InStr ({pipe.SH_CHGDESC}, "1;")-1)
请建议。我认为您只是试图将分隔字符串拆分为多个值;使用CTE中的字符串:
with pipe (SH_CHGDESC) as (
select 'FRTRV-11;SFARV-13;SCRRV-12' from dual
)
select regexp_substr(sh_chgdesc, '(.*?)(;|$)', 1, level, null, 1)
from pipe
connect by level < regexp_count(sh_chgdesc, '(.*?)(;|$)');
REGEXP_SUBSTR(SH_CHGDESC,'
--------------------------
FRTRV-11
SFARV-13
SCRRV-12
如果要从表中获取字符串并同时处理多行,则会有点复杂,但如果管道表上有主键/唯一键,则可以处理该字符串。这不是Oracle语法。现在还不清楚你到底想做什么,或者你想发生什么。是否有要拆分为多个值的带分号分隔值的单个字符串?