Разница между функциями stringtotable() и regexpsplitto_table() в PostgreSQL заключается в том, как они обрабатывают строки:
- stringtotable() разбивает строку на разделителе и возвращает полученные поля в виде набора текстовых строк. 2 Если разделитель равен NULL, то каждый символ строки становится отдельной строкой результата. 2
- regexpsplitto_table() разбивает строку на массив по регулярному выражению и вытягивает этот массив в столбец. 45 Если атрибут по регулярке разделяется на три части, то число строк в результирующей таблице вырастет в три раза. 4
Таким образом, stringtotable() преобразует строку в таблицу, а regexpsplitto_table() разбивает строку на части по регулярному выражению и возвращает их в виде строк таблицы. 15