我需要在Oracle查询中修剪换行符(从字符串的开头和结尾开始的Chr(13)和Chr(10)和Tab空间)。我了解到,在Oracle中没有简单的方法可以修剪多个字符。“修剪”功能仅修剪单个字符。如果我使用一个函数在循环中递归调用trim函数,将会降低性能。我听说regexp_replace可以匹配空格并将其删除。您能否指导一种可靠的方法来使用regexp_replace在String的开头和结尾修剪多个制表符或换行或它们的组合。如果还有其他方法,请指导我。
快速而肮脏的翻译功能如何?
这将删除string1中每个字符的所有出现:
SELECT translate( translate( translate(string1, CHR(10), '') , CHR(13), '') , CHR(09), '') as massaged FROM BLAH;
Regexp_replace是一个选项,但是根据表达式的复杂程度,您可能会看到性能下降。