Articles

Operator konkatenacji

Posted on

Operator konkatenacji manipuluje ciągami znaków i danymi CLOB. Tabela 4-3 zawiera opis operatora konkatenacji.

Tabela 4- 3.3 Operator konkatenacji

Operator Cel Przykład

||

Konkatenuje ciągi znaków i CLOB dane.

SELECT 'Name is ' || last_name FROM employees;

Wynikiem konkatenacji dwóch ciągów znaków jest kolejny ciąg znaków. Jeśli oba łańcuchy znaków są typu danych CHAR, wynik ma typ danych CHAR i jest ograniczony do 2000 znaków. Jeśli którykolwiek z argumentów jest datatype VARCHAR2, wynik ma datatype VARCHAR2 i jest ograniczony do 4000 znaków. Jeśli którykolwiek z argumentów jest CLOB, wynikiem jest tymczasowy CLOB. Spacje w łańcuchach znaków są zachowywane podczas konkatenacji, niezależnie od typu danych łańcucha lub CLOB.

Na większości platform operator konkatenacji to dwa pełne pionowe paski, jak pokazano w tabeli 4-3. Jednak na niektórych platformach IBM operator ten występuje w postaci łamanych pionowych pasków. Podczas przenoszenia plików skryptów SQL pomiędzy systemami o różnych zestawach znaków, np. pomiędzy ASCII i EBCDIC, pionowe paski mogą nie zostać przetłumaczone na pionowe paski wymagane przez docelowe środowisko bazy danych Oracle. Oracle udostępnia funkcję znaku CONCAT jako alternatywę dla operatora pionowego paska w przypadkach, gdy kontrola tłumaczenia przez system operacyjny lub narzędzia sieciowe jest trudna lub niemożliwa. Funkcji tej należy używać w aplikacjach, które będą przenoszone między środowiskami o różnych zestawach znaków.

Ale Oracle traktuje łańcuchy znaków o zerowej długości jako zera, konkatenacja łańcucha znaków o zerowej długości z innym operandem zawsze daje w wyniku drugi operand, więc null może być wynikiem tylko konkatenacji dwóch łańcuchów zerowych. Może to jednak nie być prawdą w przyszłych wersjach bazy danych Oracle. Aby złączyć wyrażenie, które może mieć wartość null, należy użyć funkcji NVL aby jawnie przekonwertować wyrażenie na łańcuch o zerowej długości.

Zobacz także:

  • „Character Datatypes”, aby uzyskać więcej informacji na temat różnic między typami danych CHAR i VARCHAR2

  • Funkcje CONCAT i NVL

  • Oracle Database Application Developer’s Guide -. Large Objects, aby uzyskać więcej informacji na temat CLOBs

Konkatenacja Przykład Ten przykład tworzy tabelę z kolumnami CHAR i VARCHAR2, wstawia wartości zarówno z jak i bez spacji, a następnie wybiera te wartości i łączy je. Zauważ, że dla obu kolumn CHAR i VARCHAR2, spacje są zachowane.

CREATE TABLE tab1 (col1 VARCHAR2(6), col2 CHAR(6), col3 VARCHAR2(6), col4 CHAR(6) );INSERT INTO tab1 (col1, col2, col3, col4) VALUES ('abc', 'def ', 'ghi ', 'jkl');SELECT col1||col2||col3||col4 "Concatenation" FROM tab1;Concatenation------------------------abcdef ghi jkl

Dodaj komentarz

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