Postgresql:在某些类型的数字之间插入空格
Postgresql: inserting spaces between certain type of digits
与我之前的帖子相关
,
我想做相反的事情,即在邮政编码之间插入 spaces。
我可能有一个包含地址的列,例如 '01031970 São Paulo SP, BR'
.
我想在第四和第五位数字之间插入一个space,即
'0103 1970 São Paulo SP, BR'
。
关于如何使用 regexp_replace
做这件事有什么想法吗?
使用正则表达式:
select regexp_replace(str, '(^.{4})(.*)', ' ')
from (
values('01031970 Sao Paulo SP, BR')
) v(str);
regexp_replace
----------------------------
0103 1970 Sao Paulo SP, BR
(1 row)
没有正则表达式(对于较大的数据可能会快一点):
select concat(left(str, 4), ' ', right(str, -4))
from (
values('01031970 Sao Paulo SP, BR')
) v(str);
concat
----------------------------
0103 1970 Sao Paulo SP, BR
(1 row)
与我之前的帖子相关
'01031970 São Paulo SP, BR'
.
我想在第四和第五位数字之间插入一个space,即
'0103 1970 São Paulo SP, BR'
。
关于如何使用 regexp_replace
做这件事有什么想法吗?
使用正则表达式:
select regexp_replace(str, '(^.{4})(.*)', ' ')
from (
values('01031970 Sao Paulo SP, BR')
) v(str);
regexp_replace
----------------------------
0103 1970 Sao Paulo SP, BR
(1 row)
没有正则表达式(对于较大的数据可能会快一点):
select concat(left(str, 4), ' ', right(str, -4))
from (
values('01031970 Sao Paulo SP, BR')
) v(str);
concat
----------------------------
0103 1970 Sao Paulo SP, BR
(1 row)