Funkcja Oracle CONCAT()
wykonuje konkatenację dwóch łańcuchów i zwraca połączony łańcuch.
Syntaktyka
Poniżej przedstawiono składnię funkcji CONCAT()
:
CONCAT(string1,string2)
Zauważ, że funkcja Oracle CONCAT()
konkatenuje tylko dwa ciągi znaków. Jeśli chcesz konkatenować więcej niż dwa ciągi, musisz zastosować funkcję CONCAT()
wiele razy lub użyć operatora konkatenacji (||).
Argumenty
Funkcja CONCAT()
przyjmuje dwa argumenty, których typy danych mogą być dowolnymi typami danych CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB lub NCLOB.
string1
jest pierwszą wartością łańcuchową do konkatenacji z drugą wartością łańcuchową.
string2
jest drugą wartością łańcuchową do konkatenacji.
Wartość zwracana
Funkcja CONCAT()
zwraca łańcuch, którego zestaw znaków zależy od zestawu znaków pierwszego argumentu łańcuchowego.
Typ danych łańcucha wynikowego zależy od typów danych dwóch argumentów. Oracle spróbuje przekonwertować ciąg wynikowy w sposób bezstratny.
Na przykład, jeśli konkatenujemy wartość CLOB z wartością NCLOB, typem danych zwróconego ciągu będzie NCLOB.
Przykłady
Poniższa instrukcja konkatenuje dwa ciągi 'Happy'
i ' coding'
:
SELECT CONCAT('Happy',' coding')FROM dual;
Jeśli chcesz konkatenować więcej niż dwa ciągi, musisz zastosować funkcję CONCAT()
wiele razy, jak pokazano w poniższym przykładzie:
SELECT CONCAT( CONCAT( 'Happy', ' coding' ), ' together' )FROM dual;
W tym przykładzie:
- Pierwsza
CONCAT()
funkcja konkatenuje dwa ciągi znaków:'Happy'
i' coding'
, i zwraca ciąg wynikowy. - Druga funkcja
CONCAT()
konkatenuje ciąg wynikowy z pierwszej funkcjiCONCAT()
, który jest'Happy coding'
, z ciągiem' together'
, który daje wynik'Happy coding together'
.
Operator konkatenacji ||
Oprócz funkcji CONCAT()
, Oracle udostępnia również operator konkatenacji (||
), który pozwala na konkatenację dwóch lub więcej łańcuchów w bardziej czytelny sposób:
string1 || string2 || string3 || ...
Na przykład, aby konkatenować trzy ciągi: 'Happy'
' coding'
, oraz ' together'
, używamy operatora konkatenacji (||
) w następujący sposób:
SELECT 'Happy' || ' coding' || ' together'FROM dual;
Zobacz następującą employees
tabelę w przykładowej bazie danych:
Następujące polecenie wykorzystuje operator konkatenacji do skonstruowania pełnej nazwy pracowników z imienia, spacji i nazwiska:
SELECT first_name || ' ' || last_nameFROM employees;
Uwagi
Aby konkatenować ciągi zawierające pojedynczy cudzysłów ('), musisz uciec od pojedynczego cudzysłowu przez podwojenie go, jak pokazano w poniższym przykładzie:
SELECT CONCAT('let''s',' try this') FROM dual;
W tym przykładzie ciąg let's
zawiera pojedynczy cudzysłów (') i uciekliśmy od pojedynczego cudzysłowu przez jego podwojenie („).
W tym poradniku dowiedziałeś się, jak używać funkcji Oracle CONCAT()
do konkatenacji dwóch ciągów znaków. Dowiedziałeś się również, jak używać operatora konkatenacji (||) do konkatenacji trzech lub więcej ciągów znaków.
- Czy ten moduł był pomocny?
- TakNie