我有一个seneSplit words with a capital letter in sql它适用于MS-SQL,但是我想知道如何使用PostgreSQL实现相同的功能
基本上我得到了一些值,比如FirstNameValue
,但我需要它是First Name Value
不幸的是,我甚至不知道从哪里开始。我走到后面就被卡住了
SELECT REGEXP_REPLACE('ThoMasTest', '[^ ][A-Z].', ' ')
字符串的结果,如
ThoMasTest
应该是Tho Mas Test
谢谢
最佳答案
这应该可以做到:
select regexp_replace('ThoMasTest', '([a-z])([A-Z])', '\1 \2','g');
表达式匹配彼此旁边的两个字符,每个字符在其自己的组中:
[a-z]
匹配小写字母的。[A-Z]
查找大写字母因此,如果一个小写如果紧接着一个大写字母,在它们之间插入一个空格。
在全球范围内做到这一点。