例如,我的列“標簽”有
"movie/spiderman,genre/action,movie:marvel",
"movie/kingsman,genre/action",
"movie/spiderman,genre/action,movie:marvel,movie:dfjkl,movie:fskj,movie:aa,movie:mdkk"
我試圖在第 5 個逗號之前回傳所有內容。下面是結果示例
"movie/spiderman,genre/action,movie:marvel",
"movie/kingsman,genre/action",
"movie/spiderman,genre/action,movie:marvel,movie:dfjkl,movie:fskj"
我試過下面的代碼,但它不作業。
select
NVL(SUBSTRING(tags, 1,REGEXP_INSTR(tags,',',1,5) -1),tags)
from myTable
uj5u.com熱心網友回復:
您可以使用
REGEXP_REPLACE(tags, '^(([^,]*,){4}[^,]*).*', '\\1')
請參閱正則運算式演示。
REGEXP_REPLACE會發現以下模式的出現:
^- 字串的開始(([^,]*,){4}[^,]*)- 第1組(\1指匹配的這部分):四個序列的任何零個或多個除逗號和逗號之外的字符,然后是零個或多個除逗號之外的字符.*- 字串的其余部分。
\1替換在結果字串中恢復組 1 值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418458.html
標籤:
