Oracle
 sql >> база данни >  >> RDS >> Oracle

Изрязване на белите интервали (нов ред и пространство на раздела) в низ в Oracle

Ако имате Oracle 10g, REGEXP_REPLACE е доста гъвкав.

Използване на следния низ като тест:

chr(9) || 'Q   qwer' || chr(9) || chr(10) ||
chr(13) || 'qwerqwer     qwerty' || chr(9) || 
chr(10) || chr(13)

[[:space:]] ще премахне всички интервали и ([[:cntrl:]])|(^\t) regexp ще премахне непечатаемите знаци и раздели.

select
    tester,
    regexp_replace(tester, '(^[[:space:]]+)|([[:space:]]+$)',null)
            regexp_tester_1,
    regexp_replace(tester, '(^[[:cntrl:]^\t]+)|([[:cntrl:]^\t]+$)',null) 
            regexp_tester_2
from
    (
    select
        chr(9) || 'Q   qwer' || chr(9) || chr(10) ||
                chr(13) || 'qwerqwer     qwerty' || chr(9) || 
                chr(10) || chr(13) tester 
    from 
        dual
    )

Връщане:

  • REGEXP_TESTER_1 :"Qqwerqwerqwerqwerty "
  • REGEXP_TESTER_2 :"Q qwerqwerqwer qwerty "

Надяваме се, че това е от полза.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Това е в подробностите

  2. Конкатениране на резултати от SQL заявка в Oracle

  3. Как да премахнете празните интервали от SQL*Plus заявка?

  4. препратка към съставен ключ в Oracle

  5. Оракул с подзаявка