已上圖爲例sql
先以逗號分隔拆分函數
拆分函數:blog
CREATE OR REPLACE FUNCTION SPLIT(P_STRING VARCHAR2, P_SEP VARCHAR2 := ',') RETURN TYPE_SPLIT PIPELINED IS IDX PLS_INTEGER; V_STRING VARCHAR2(4000) := P_STRING; BEGIN LOOP IDX := INSTR(V_STRING, P_SEP); IF IDX > 0 THEN PIPE ROW(SUBSTR(V_STRING, 1, IDX - 1)); V_STRING := SUBSTR(V_STRING, IDX + LENGTH(P_SEP)); ELSE PIPE ROW(V_STRING); EXIT; END IF; END LOOP; END;
下面是sql語言:it
select * from(select d.news_id,d.hot_tag_name from news_data d where d.news_id=101166699) t,table(split(t.hot_tag_name, ',')) t1
執行效果:table