From aafdd79c5efddcce33db43561395751cccdcea9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E9=95=BF=E5=BE=81?= Date: Thu, 5 Sep 2024 16:28:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0split.sql=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/split.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sql/split.sql 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