Если у меня есть следующий ввод (исключая кавычки):
"The ancestral territorial imperatives of the trumpeter swan"
Как можно свернуть все несколько пробелов в один пробел, чтобы преобразовать входные данные в:
"The ancestral territorial imperatives of the trumpeter swan"
Это будет использоваться в функции триггера при вставке / обновлении (которая уже обрезает начальные / конечные пробелы). В настоящее время возникает исключение, если вход содержит несколько смежных пробелов, но я бы предпочел просто преобразовать его во что-то допустимое перед вставкой.
Каков наилучший подход? Я не могу найти функцию замены регулярного выражения для PL / pgSQL. Существует функция text_replace
, но она будет свернута не более чем в два пробела до одного (это означает, что три последовательных пробела свернутся до двух). Повторный вызов этой функции не идеален.