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

Jak zastąpić nową linię w Oracle

Problem:

Chcesz usunąć podział wiersza w kolumnie.

Przykład:

Nasza baza danych zawiera tabelę o nazwie address_book z danymi w kolumnach city_name i company_address . Chcesz zastąpić każdą z kart i podziałów wierszy w company_address kolumna z ‘ ‘ (spacją), aby była bardziej atrakcyjna wizualnie.

nazwa_miasta adres_firmy
Tokio 15. ulica Oreo,

Tokio

9870-11
Warszawa al. Marszałkowska 18,

Warszawa

03-654
Akra 123 Węzeł Bananowy,

Circle-Akra,

00244
Berlin 25. Aleja Mango,

Azyl w dół,

DE-1234

Rozwiązanie:

Oto zapytanie:

SELECT
   city_name,
   REPLACE(company_address, CHR(10) || CHR(13) || CHR(9), ‘ ‘)
FROM address_book;

Oto wynik zapytania:

nazwa_miasta adres_firmy
Tokio 15th Oreo Street, Tokio 9870-11
Warszawa Al.Marszałkowska 18, Warszawa 03-654
Akra 123 Węzeł Bananowy, Koło-Akra, 00244
Berlin 25th Mango Avenue, Asylum Down, DE-1234

Dyskusja:

REPLACE() Funkcja jest zwykle używana do zastępowania wszystkich wystąpień określonego ciągu w ciągu innym ciągiem. Możesz zapytać, dlaczego użyliśmy CHR(10) i CHR(13) w powyższym przykładzie. CHR() Funkcja służy do wstawiania znaków sterujących do ciągu. CHR(10) służy do wstawiania łamania linii, CHR(9) jest dla kart, a CHR(13) dotyczy powrotu karetki.

W powyższym przykładzie chcieliśmy usunąć wszystkie wystąpienia łamania wiersza, tabulatora i powrotu karetki, więc użyliśmy CHR(10) , CHR(9) i CHR(13) . Można je łączyć za pomocą znaku konkatenacji w Oracle (|| ) do usuwania wszystkich ich wystąpień w kolumnie. Przykładową składnią jest REPLACE(string, CHR(10) || (CHR(13) || CHR(09), ‘ ‘ ) .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Filtrowanie dzienników alertów w EM13c

  2. Czy w bazach danych Oracle jest jakiś typ logiczny?

  3. Podziel duży plik tekstowy/CSV na wiele plików w PL SQL

  4. Oracle SQL :znaczniki czasu w klauzuli gdzie

  5. Wybór NOT IN z wartościami NULL