繁体   English   中英

如何在postgresql中第4次出现字符之前剪掉字符串?

[英]How to cut off strings before 4th occurrence of a character in postgresql?

我知道在很多数据库中,charindex函数可以接受在第三次出现时获取字符,但postgresql中的strpos不接受它。

基本上我需要在第四个空间(包括最后一个空间)之后切割所有东西

如果我有一个像这样的字符串:

FLAT 11, ELMER HOUSE 33-35 

如何在'HOUSE'之后将它切成刚才:

FLAT 11, ELMER HOUSE

不,使用left将无法工作,因为这些字符串变化很大。

这是一种方法:

select substring(str || '    ' from '^[^ ]* [^ ]* [^ ]*')

这将查找由空格分隔的字符组(可能为空)。 它适用于str的第四个空间。

|| ' ' || ' '只是要确保字符串上有四个空格。 否则模式将返回NULL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM