我有一个拉用逗号分隔的准确,因为这一个文本内容的查询:
INSERVICE JOB #: N19020200001
SERVICE_CENTER:SBY,OH_CIRCUIT:MALTA8501,CREW:3675,URD_PRINT:STG-123/S1,FEEDER:PFB969,ISOLATED_1:SCC-1-B969,ISOLATED_2:UDTB969-5,RECONDUCTOR:Y,JACKETED_CABLE:N,CABLE_CART:N,LIVE_FRONT:N,BOOM:null,BACK_HOE:null,EASY_HAULING:null
有没有在SQL的方式我可以选择/分区它是在下面单独的字段(它始终是一致的如上):
我中有你可以使用自定义字符串分析器功能...
注:标题,您可以取代他们喜欢REPLACE(“标题”,“”),并用逗号获取值...
您可以查看下面的代码,并在你的数据库使用它:
FUNCTION STRING_PARSER(VAL VARCHAR2, POSITION VARCHAR2, DELIMITER VARCHAR2) RETURN VARCHAR2 IS
v_pos3 number;
v_pos4 number;
BEGIN
/* Return 3rd occurrence of '_' */
v_pos3 := INSTR(VAL, DELIMITER, 1, POSITION) + 1;
/* Return 4rd occurrence of '_' */
v_pos4 := INSTR(VAL, DELIMITER, 1, POSITION + 1);
return SUBSTR(VAL, v_pos3, v_pos4 - v_pos3);
END;
使用方法:
select report_tools_pkg.string_parser(',1,2,3',2,',') from dual
注:添加“” || COLUMNNAME到SQL如果你想给你使用,它因为它是...