經常碰到某些字段使用逗號等分隔符分割的配置,批量轉換成中文說明比較麻煩。目前想到使用正規表示式匹配,總體思路如下
先由一行用正規表示式提取分割成多行。
再用參數列查詢中文名
再合成一行
—引數中文說明表
select id,name from tab_mb
id name
501 很好
502 一般好
503 相當好
—測試資料
select 『501,502,503』 as source_string from dual
with t1 as
(select 『501,502,503』 as source_string from dual),
t2 as
(select regexp_substr(source_string, 『[^,]+』, 1, rownum) need_string
from t1
connect by rownum <=
length(source_string) - length(replace(source_string, 『,』, 」)) + 1),
t3 as
(select need_string,
(select name from tab_mb h where a.need_string = h.id) need_string_name
from t2 a)
select to_char(wmsys.wm_concat(need_string_name)) as source_2_need from t3
結果輸出
source_2_need
很好,一般好,相當好
SQL Like中的逗號分隔符
在與資料庫互動的過程中,我們經常需要把一串id組成的字串當作引數傳給儲存過程獲取資料。很多時候我們希望把這個字串轉成集合以方便用於in操作。有兩種方式可以方便地把這個以某種符號分隔的id字串轉成臨時表。方式一 通過charindex和substring。create function func sp...
awk按照多個分隔符進行分割
我們知道awk可以進行類似於cut之類的操作,如乙個檔案data如下 zhc 123 zhang hongchangfirst 99 zhang hongchang 100 zhang 如果我們 awk f data 會列印出 zhchongchangfirst hongchang 但是如果我想根據...
C 讀取以逗號為分隔符的數值
思想 全部讀到乙個字串裡,遇到 就換成空格,然後用這個字串構造乙個stringstream,用 讀到陣列裡。分為istream和ostringstream.1 std string name zeta 2 int age 27 34 ostringstream os 5 os name age 6 ...