Комментарии 3
Статья по смыслу рассчитана на начинающих. В этом случае считаю неправильным ограничиваться рассмотрением только параметра шаблона и применением собственно регулярного выражения, хоть мимоходом, но следует упомянуть о существовании у функций других параметров и их смысла/действия. Как это сделано с параметром флагов в описании regexp_replace.
Считаю невредным дополнить статью ссылками (в тексте или отдельным списком) - как минимум на описание синтаксиса регулярных выражений.
ИМХО. Считаю, что следует обратить особое внимание на поведение regexp_split_to_table. Хотя это и функция, которая применяется в выходном наборе, словно она скалярная, однако по типу своего действия она работает как table-valued функция, находящаяся в секции FROM запроса. В скобках отмечу, что лично я считаю такую синтаксическую реализацию форменным безобразием.. тем более что в Постгрессе вполне себе существует LATERAL.
Ну и так уже, в качестве ворчания - зачем надо было начинать рассказывать с описания геморроя с кривым пользовательским вводом и бросить его на середине?
seller_id выглдядит как первичный ключ. к чему еще сортировать набор из одного элемента по имени - непонятно совершенно
А как разбить 1 строку на таблицу по шаблону, но так что бы при этом сам шаблон остался частью строки?
Пример: есть строка '2020-05-05 строка 1 2020-05-05 строка3 2020-05-09 тоже строка'
а хочется получить 3 строки:
'2020-05-05 строка 1'
'2020-05-05 строка3'
'2020-05-09 тоже строка'
Т.е. если так и задать шаблон \d\d\d\d-\d\d-\d\d, то получим 'строка 1', 'строка3', 'тоже строка'.
В документации postgres про "@" только 1 упоминание в описании split_to_table и то в виде '@ тоже можно как-то использовать'. А с какой стороны прикручивать эту собаку - неизвестно.
Использование функций регулярных выражений в PostgreSQL / Greenplum