1
我試圖寫下面的情形PostgreSQL的查詢:格式字符串中使用給定的模式和分隔符PostgreSQL中
輸入:
I)的字母數字字符串,例如abcd1234efgh
II)模式,例如, [1][2][3][2][1][3]
III)定界符,e.g -
(連字符)
輸出:
a-bc-d12-34-e-fgh
我需要一個查詢。函數不適用於我。
我試圖寫下面的情形PostgreSQL的查詢:格式字符串中使用給定的模式和分隔符PostgreSQL中
輸入:
I)的字母數字字符串,例如abcd1234efgh
II)模式,例如, [1][2][3][2][1][3]
III)定界符,e.g -
(連字符)
輸出:
a-bc-d12-34-e-fgh
我需要一個查詢。函數不適用於我。
select concat_ws('-',
left(a, 1),
substring(a from 2 for 2),
substring(a from 4 for 3),
substring(a from 7 for 2),
substring(a from 9 for 1),
right(a, 3)
)
from (values ('abcd1234efgh')) s(a)
concat_ws
函數將使用其第一個參數作爲分隔符。
使用一個regexp_replace()
電話:
SELECT regexp_replace('abcd1234efgh'
,'^(.)(..)(...)(..)(.)(...)'
,'\1-\2-\3-\4-\5-\6'
)
可生產請求的結果。
同樣用數字寫:
SELECT regexp_replace('abcd1234efgh'
,'^(.{1})(.{2})(.{3})(.{2})(.{1})(.{3})'
,'\1-\2-\3-\4-\5-\6'
)