diff --git a/sql/split.sql b/sql/split.sql new file mode 100644 index 0000000..ad7291d --- /dev/null +++ b/sql/split.sql @@ -0,0 +1,17 @@ +--查询JK_CRB_ICD10表,将icd10列按照、分割并将name和icd10联合组成新行,插入JK_CRB_ICD10_tmp表。 +~~~sql +insert into JK_CRB_ICD10_tmp +select * from ( + SELECT name, + TRIM(SUBSTR(string_to_split, + INSTR(string_to_split, '、', 1, LEVEL) + 1, + INSTR(string_to_split, '、', 1, LEVEL + 1) - INSTR(string_to_split, '、', 1, LEVEL) - 1) + ) AS icd10 + FROM (SELECT name, '、' || icd10 || '、' AS string_to_split FROM JK_CRB_ICD10) t, + DUAL + CONNECT BY PRIOR name = name + AND PRIOR DBMS_RANDOM.value IS NOT NULL + AND LEVEL <= LENGTH(t.string_to_split) - LENGTH(REPLACE(t.string_to_split, '、', '')) + 1 +) ina where ina.icd10 is not null; + +~~~ \ No newline at end of file