В этой части речь пойдет о функциях работы с текстовой информацией, которые могут применяться в запросах и программном коде на языке PL/SQL.
Функция CONCAT(strl, str2)
Данная функция выполняет конкатенацию строк strl и str2. Если один из аргументов равен NULL, то он воспринимается как пустая строка. Если оба аргумента равны NULL, то функция возвращает NULL.
Пример:
SELECT CONCATC'y попа ', 'была собака') xl, CONCATCTest', NULL) х2, CONCAT(NULL, 'Test') хЗ, CONCAT(NULL, NULL) x4 FROM dual
|
XI |
Х2 |
ХЗ |
Х4 |
|
У попа была собака |
Test |
Test |
NULL |
Для конкатенации строк Oracleподдерживает специальный оператор конкатенации «||», который работает аналогично функции CONCAT, например:
SELECT CONCATCY попа ', 'была собака') xl, 'У попа ' II 'была собака' х2 FROM dual
XI Х2
У попа была собака У попа была собака
Не следует путать оператор конкатенации «||», эквивалентный вызову функции CONCAT, и оператор «+», применяемый в арифметических операциях. В Oracle это разные операторы, но за счет автоматического приведения типов возможны трудноуловимые ошибки, например:
SELECT '5' + '3' xl FROM dual
В данном случае возвращается числовое значение 8, а не текстовая строка «53». Это связано с тем, что, обнаружив арифметическую операцию «+», Oracle автоматически пытается привести аргументы к типу NUMBER.
Функция LOWER(str)
Функция LOWERпреобразует все символы строки str в строчные. Пример:
SELECT LOWER('TeXt DATA') X FROM dual
X______
text data
Функция UPPER(str)
Функция UPPER преобразует все символы строки str в прописные. Пример:
SELECT UPPER('TeXt DATA') X FROM dual
X
TEXT DATA
Функция INITCAP(str)
Возвращает строку str, в которой первые буквы всех слов преобразованы в прописные. Функция удобна для форматирования полного имени при построении отчетов.
Пример:
SELECT INITCAP('ИваноВ петр сиДорович') X FROM dual
X
Иванов Петр Сидорович
Функции LTRIM(str [,set]) и RTRIM(str [,set])
Функция LTRIM удаляет все символы с начала строки до первого символа, которого нет в наборе символов set. По умолчанию set состоит из одного пробела и может не указываться. Функция RTRIM аналогична LTRIM, но удаляет символы, начиная от конца строки. Рассмотрим несколько примеров:
предыдущаяследующая