Разница между функциями stringtotable() и regexpsplitto_table() в PostgreSQL заключается в том, как они обрабатывают строки:
- stringtotable() разбивает строку на разделителе и возвращает полученные поля в виде набора текстовых строк. www.postgresql.org Если разделитель равен NULL, то каждый символ строки становится отдельной строкой результата. www.postgresql.org
- regexpsplitto_table() разбивает строку на массив по регулярному выражению и вытягивает этот массив в столбец. habr.com dbtut.com Если атрибут по регулярке разделяется на три части, то число строк в результирующей таблице вырастет в три раза. habr.com
Таким образом, stringtotable() преобразует строку в таблицу, а regexpsplitto_table() разбивает строку на части по регулярному выражению и возвращает их в виде строк таблицы. www.dbvis.com dbtut.com