我知道在许多数据库中,charindex函数可以接受在第三次出现时获取字符,但postgresql中的strpos不接受它。
基本上,我需要剪切第四个空格(包括最后一个空格)之后的所有内容
如果我有一个像这样的字符串:
FLAT 11, ELMER HOUSE 33-35
如何在“ HOUSE”之后将其切成正义:
FLAT 11, ELMER HOUSE
不,使用left无效,因为这些字符串非常可变。
答案 0 :(得分:3)
这是一种方法:
select substring(str || ' ' from '^[^ ]* [^ ]* [^ ]*')
这将查找由空格分隔的字符组(可能为空)。它适用于str
中第四位的所有内容。
|| ' '
只是为了确保字符串上有四个空格。否则,模式将返回NULL
。