Перевод SUBSTRING_INDEX () в MySQL в PostgreSQL - PullRequest
0 голосов
/ 30 марта 2020

Есть ряд вопросов, связанных с этим, и ответ должен использовать split_part(). Например:

эмуляция MySQL substring_index () в PG SQL

Mysql`s SUBSTRING_INDEX эквивалент в postgresql

Однако я не получаю такого же поведения. Я пытаюсь выяснить, как получить следующие функциональные возможности в Postgres.

Если у вас есть строка, похожая на:

+------------------------------------------+
| string                                   |
+------------------------------------------+
| A_123, B_123, C_123, D_123, E_123, F_123 |
+------------------------------------------+

MySQL вернет следующее с данный оператор:

mysql> select SUBSTRING_INDEX(string, ',', 4) AS test FROM tbl;
+----------------------------+
| test                       |
+----------------------------+
| A_123, B_123, C_123, D_123 |
+----------------------------+

PostgreSQL вернет с данным оператором следующее:

mysql> select split_part(string, ',', 4) AS test FROM tbl;
+-------+
| test  |
+-------+
| D_123 |
+-------+

Существует ли подобная функция или просто реализуется функция, подобная this

1 Ответ

0 голосов
/ 05 апреля 2020

Как указано в комментариях a_horse_with_no_name, это дало желаемый результат:

array_to_string((regexp_split_to_array(string, '\s*,\s'))[:4], ', ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...