結果,只需要洗掉中間空格。
只需要列印連字符 (-) 前的第一部分以及百分比。
你能幫忙嗎。
輸入字串:亞馬遜 - 25%;SAP - XXXXX - 45%;微軟 - XXX&YYY - 30%
詢問:
SELECT
translate(left("S_Name",POSITION(',' IN "S_Name")-1),'(,),{,},"','') as FirstPart,
translate(SUBSTRING ("S_Name",length("S_Name") -4 ,4),'(,),{,},"','')as secondpart;
uj5u.com熱心網友回復:
regexp_split_to_table可用于通過分隔符將值拆分為字串;,然后您可以使用split_part獲取所需結果的第一和第二部分。
Select trim(split_part(t,' - ',1)) As First,
trim(reverse(split_part(reverse(t),' - ',1))) As Second
From regexp_split_to_table('SUCCESS FACTORS - 25%; SAP - XXXXX - 45%; MICROSOFT - XXX&YYY - 30%', ';') As t;
資料輸出:
| 第一的 | 第二 |
|---|---|
| 成功因素 | 25% |
| 樹液 | 45% |
| 微軟 | 30% |
uj5u.com熱心網友回復:
將初始字串拆分;為“表”,然后使用正則運算式將所需部分提取到列中。
select
trim(substring(s from '^([\w ] )')) "first",
substring(s from '([\d] %)$') "second"
from unnest(string_to_array('SUCCESS FACTORS - 25%; SAP - XXXXX - 45%; MICROSOFT - XXX&YYY - 30%', ';')) s;
| 第一的 | 第二 |
|---|---|
| 成功因素 | 25% |
| 樹液 | 45% |
| 微軟 | 30% |
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/395783.html
標籤:sql PostgreSQL的 功能
上一篇:基于列值轉換的視窗函式
下一篇:范圍內的SQL唯一資料
