use*_*773 1 postgresql replace
在我的数据库中6864#21
,我有类似的值1a2b#3598
.我试图只提取#之前和之后的部分,所以我会得到类似的东西
col1 | col2 ----------- 6864 | 21 1a2b | 3598
我试过了
REPLACE('123#89', '%#', '')
Run Code Online (Sandbox Code Playgroud)
但这只是导致了123#89.有谁知道我可以这样做的方式?
或者您可以使用该strpos
函数查找该字符的第一次出现,然后substr
检索该字符出现后的所有内容:
SELECT substr(str, strpos(str,'#'));
Run Code Online (Sandbox Code Playgroud)
#
如果字符串中有多个 ' ,则此方法有效。
试试这个:
SELECT split_part('123#23','#',1) AS "COL1",split_part('123#23','#',2) AS "COL2"
Run Code Online (Sandbox Code Playgroud)