Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Przytnij białe spacje (nowy wiersz i spację tabulacji) w ciągu w Oracle

Jeśli masz Oracle 10g, REGEXP_REPLACE jest dość elastyczny.

Używanie następującego ciągu jako testu:

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

[[:space:]] usunie wszystkie białe znaki, a ([[:cntrl:]])|(^\t) regexp usunie niedrukowalne znaki i tabulatory.

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
    )

Powrót:

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

Mam nadzieję, że to się przyda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak posortować tablicę asocjacyjną w PL/SQL?

  2. OdbcConnection zwraca chińskie znaki jako ?

  3. Napraw „Nie można zainstalować w Homebrew na procesorze ARM w domyślnym prefiksie Intela (/usr/local)!”

  4. ORA-00604:wystąpił błąd na rekurencyjnym poziomie SQL 1

  5. Jak zrobić dynamiczny pivot z datą i kolejną kolumną w Oracle?