Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 功能组合不能正常工作_Sql_Oracle - Fatal编程技术网

Sql 功能组合不能正常工作

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中的字符

当我尝试使用下面的函数获取结果时,我只得到了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中的字符串:

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语法。现在还不清楚你到底想做什么,或者你想发生什么。是否有要拆分为多个值的带分号分隔值的单个字符串?