Articles

Jak używać CONCAT w Oracle SQL

oracle dba oracle database management database management system database oracle performance tuning oracle sql learn sql learn personal injury attorney new york mesothelioma lawyers mezotelioma prawnicy nowy jork mezotelioma prawnik giełda pionu emerytalnego planowania barclays broker akcji doradca finansowy emerytury osobistej doradca finansowy

Tutorial ten jest oparty na przykładach, więc byłoby łatwiejsze do zrozumienia. Funkcja Oracle Concat pozwala na połączenie lub zjednoczenie dwóch ciągów znaków i może wykorzystywać następujące typy danych CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB lub NCLOB. Funkcja posiada dwa parametry wejściowe i zwraca tylko jeden łańcuch. Jeśli typy danych są różne, wówczas baza danych Oracle zwraca typ danych, który ma mniej strat w wynikach konwersji. Składnia Oracle Concat jest następująca:

CONCAT(<string_1>, <string_2>)

Pierwszy przykład jest z klasyczną funkcją konkatenacji i łączy dwa teksty „Oracle ” (ze spacją na końcu) i „database”. Aby uniknąć sytuacji, w której dwa słowa staną się jednym słowem, chyba że jest to zamierzone, użyjemy spacji na końcu pierwszego słowa. Wyjście SQL pokazuje poniżej wartość „TEXT” „baza danych Oracle”.

 SELECT CONCAT('Oracle ','database') as text FROM dual;

oracle dba oracle database management system zarządzanie bazą danych oracle performance tuning oracle concat oracle concat w oracle sql concat oracle sql concat w oracle sql database learn sql learn emerytura doradca finansowy emerytura finansowa ORA-01722: invalid number

Drugą opcją łączenia ciągów znaków jest użycie operatora konkatenacji (||), który robi to samo co funkcja Oracle Concat. Operator ten jest częściej używany niż funkcja Concat, ponieważ jest łatwiejszy w użyciu i kod pozostaje prostszy. Składnia operatora konkatenacji Oracle to:

<string_1>'||'<string_2>

Drugi przykład zwraca to samo wyjście „Baza danych Oracle”, co ostatni przykład, a do konkatenacji używamy tych samych ciągów wejściowych: „Oracle ” (ze spacją na końcu) i „baza danych”. Spójrz na poniższe zapytanie SQL i porównaj je z pierwszym przykładem.

 SELECT 'Oracle '||'database' as text FROM dual;

oracle dba oracle database management system zarządzanie bazą danych oracle performance tuning oracle concat oracle concat w oracle sql concat oracle sql concat w oracle sql database learn sql learn emerytura doradca finansowy emerytura finansowa ORA-01722: invalid number

Important To Know:
Po spojrzeniu na te dwa ostatnie przykłady można dostać pomysł, aby spróbować operatora dodawania i zjednoczyć te dwa słowa, jak na poniższym przykładzie.

 SELECT 'Oracle '+'database' as text FROM dual;

oracle dba oracle database management system zarządzanie bazą danych oracle performance tuning oracle concat oracle concat w oracle sql concat oracle sql concat w oracle sql database learn sql learn emerytura doradca finansowy emerytura finansowa ORA-01722: invalid number

Wyjście pokazuje, że nie można ich konkatenować za pomocą operatora dodawania, a operator ten jest używany tylko z liczbami, ponieważ błąd mówi „ORA-01722: invalid number”.

Teraz, aby połączyć trzy ciągi znaków, musimy użyć funkcji Oracle Concat 2 razy, jak na poniższym przykładzie. Łańcuchy wejściowe to „Oracle ” (ze spacją na końcu), „database” i ” help” (ze spacją na początku). Ostatnie słowo ” help” ma spację na początku i to pokazuje, że możesz dodawać spacje gdziekolwiek chcesz. Spacja przed trzecim słowem jest zrobiona dla przykładu i możesz po prostu dodać ją na końcu drugiego ciągu również.

 SELECT CONCAT(CONCAT('Oracle ','database'),' help') as text FROM dual;

oracle dba oracle database management system zarządzanie bazą danych oracle performance tuning oracle concat oracle concat w oracle sql concat oracle sql concat w oracle sql database learn sql learn emerytura doradca finansowy emerytura finansowa ORA-01722: invalid number

Wynik ostatniej instrukcji Select zwrócił jeden ciąg znaków „Oracle database help” i od tej pory można to traktować jako jeden typ danych. Następny przykład wykonuje tę samą konkatenację za pomocą operatora Concat i używamy tych samych trzech łańcuchów wejściowych jak powyżej.

 SELECT 'Oracle '||'database'||' help' as text FROM dual;

oracle dba oracle database management system zarządzanie bazą danych oracle performance tuning oracle concat oracle concat w oracle sql concat oracle sql concat w oracle sql database learn sql learn emerytura doradca finansowy emerytura finansowa ORA-01722: invalid number

Jak widać z ostatniego zapytania użycie operatora (||) pozostawia zapytanie SQL prostszym i łatwiejszym do odczytania. Operator konkatenacji w Oracle jest z tego powodu szerzej stosowany i prawie w ogóle nie widać funkcji Concat. Ostatni przykład pokazuje, że możesz dodać do swojego kodu wiele operatorów, których potrzebujesz, a jedynym ograniczeniem jest to, że nie mogą one być na początku i na końcu ciągu znaków. Innymi słowy, twój łańcuch musi zaczynać się i kończyć typem danych.

 SELECT 'Oracle '||'database'||' help'||' from'||' a DBA' as text FROM dual;

oracle dba oracle database management system zarządzanie bazą danych oracle performance tuning oracle concat oracle concat w oracle sql concat oracle sql concat w oracle sql database learn sql learn emerytura doradca finansowy emerytura finansowa ORA-01722: invalid number

Ostateczne wyjście stało się „Oracle database help from a DBA” i używamy 5 ciągów wejściowych.

Zobacz także:
Oracle Select Oracle Substr Oracle Instr Home

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *