Как обрезать строки до 4-го появления символа в postgresql? - PullRequest
0 голосов
/ 25 июня 2018

Я знаю, что во многих базах данных функция charindex может принять получение символа при третьем появлении, но strpos в postgresql не принимает его.

Обычно мне нужно вырезать все после 4-го пробела (включая последний пробел)

Если у меня есть строка вроде:

FLAT 11, ELMER HOUSE 33-35 

Как разрезать его после «ДОМА», чтобы превратить в просто:

FLAT 11, ELMER HOUSE

И нет, использование left не сработает, потому что эти строки очень переменны.

1 Ответ

0 голосов
/ 25 июня 2018

Вот один из методов:

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

Он ищет группы символов (возможно, пустые), разделенные пробелом.Это относится ко всему, вплоть до четвертого пробела в str.

. || ' ' просто для того, чтобы убедиться, что в строке четыре пробела.В противном случае шаблон вернет NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...