Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / SQL и PL/SQL в Oracle10g
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

2.3 Оператор конкатенации

Операторы конкатенации (слияния строковых значений) в запросах Oracle SQL, слияние строковых данных разных типов

В реальной работе очень часто приходится производить слияние строковых значений. Такая операция называется конкатенацией.

В Oracle SQL предусмотрен несколько необычный (по крайней мере, с точки зрения специалистов, работавших с SQL Server) оператор конкатенации — две вертикальные черты (||). Отметим, что в некоторых версиях сервера Oracle, например, предназначенных для работы на мэйнфреймах IBM, используется другой оператор конкатенации. Поэтому на всякий случай в Oracle SQL предусмотрена еще и встроенная функция CONCAT, которая также производит конкатенацию и работает на любых платформах.

Пример применения оператора конкатенации может выглядеть так:

SELECT first_name || ' ' || last_name   FROM hr.employees;

В этом примере у нас сливается три значения: имя, пробел (в виде литерала) и фамилия.

Оператор конкатенации можно применять как для строковых значений и значений CLOB (больших строковых значений), так и для чисел и дат (эти значения будут автоматически конвертированы в строковые). При слиянии строкового значения со значением типа NULL Oracle вернет строковое значение (в отличие от поведения по умолчанию SQL Server), однако Oracle предупреждает, что такое поведение в будущих версиях Oracle не гарантируется. Поэтому в таких ситуациях рекомендуется использовать функцию NVL, которая преобразует значения типа NULL в строки нулевой длины.

При выполнении конкатенации рекомендуется подумать над ограничениями типов данных, которые используются для конкатенации. Oracle использует для результата конкатенации больший тип данных из тех значений, которые используются для конкатенации. Например, при слиянии двух значений с типом данных CHAR (максимальный размер — 2000 символов) вернется CHAR, при слиянии CHAR и VARCHAR2 (максимальный размер — 4000 символов) вернется VARCHAR2, а при слиянии любого типа данных с CLOB вернется CLOB.

Пробелы при конкатенации всегда сохраняются.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru