Обрезать пробелы (строка новой строки и табуляции) в строке в Oracle - PullRequest
32 голосов
/ 16 февраля 2010

Мне нужно обрезать новую строку (Chr (13) и Chr (10) и табуляцию из начала и конца строки) в запросе Oracle. Я узнал, что в Oracle нет простого способа обрезать несколько символов. Функция «Trim» обрезает только один символ. Было бы снижение производительности, если бы я вызывал функцию рекурсии в цикле, используя функцию. Я слышал, что regexp_replace может сопоставлять пробелы и удалять их. Можете ли вы рассказать о надежном способе использования regexp_replace для обрезки нескольких пространств табуляции или новых строк или их комбинаций в начале и конце строки. Если есть другой способ, пожалуйста, направьте меня.

Ответы [ 12 ]

0 голосов
/ 04 февраля 2015

Код ниже может использоваться для удаления новой строки и табличного пространства в текстовом столбце

Select replace(replace(TEXT,char(10),''),char(13),'')
0 голосов
/ 16 февраля 2010

В тех случаях, когда решение Oracle кажется чрезмерно запутанным, я создаю Java-класс со статическими методами, а затем устанавливаю его как пакет в Oracle. Это может быть не так эффективно, но вы в конечном итоге найдете другие случаи (например, преобразование даты в миллисекунды), в которых вам будет полезен запасной вариант Java.

...