PublicDoc/sql/split.md

18 lines
729 B
Markdown
Raw Permalink Normal View History

2024-09-05 16:29:54 +08:00
查询JK_CRB_ICD10表将icd10列按照、分割并将name和icd10联合组成新行插入JK_CRB_ICD10_tmp表。
```sql
2024-09-05 16:28:19 +08:00
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;
2024-09-05 16:29:54 +08:00
```