Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткий обзор строковых функций






Название функции Действие, выполняемое функцией
ASCII(строка) Возвращает десятичное представление первого символа строки, согласно применяемому набору символов
CHR(число) Возвращает символ, имеющий указанный в скобках код из набора символов БД. Например: DBMS_OUTPUT.put_line(CHR(37)); Simb: = CHR(105);
CONCAT(строка1, строка2) Возвращает строку 1, сцепленную со строкой 2.
INITCAP(строка) Возвращает строку, в которой каждое слово начинается с прописной буквы и продолжается строчными. Слова разделяются пробелами или не буквенно-цифровыми символами.

Продолжение табл. 4.6

INSTR(строка исходная, строка искомая, [, стартовая позиция a[, номер вхождения b]]) Возвращает местоположение искомой строки в исходной строке. Исходная строка просматривается слева, начиная со стартовой позиции. Если стартовая позиция отрицательна, то исходная строка просматривается справа. Возвращается позиция, указывающая местоположение искомой строки с указанным номером вхождения. Значением по умолчанию, как для a так и для b является 1. Если строка искомая не найдена, возвращается 0.
LENGTH(строка) Возвращает размер строки в символах. Значения типа CHAR дополняются пробелами, поэтому если строка имеет тип CHAR в размере указываются и конечные пробелы. Если строка хранит NULL, то возвращается NULL.
LOWER(строка) Переводит все символы строки в нижний регистр
LPAD(строка 1, длина, строка 2) Возвращает строку 1, дополненную слева до размера указанной длины символами строки 2. Если размер строки 2, меньше указанной длины, то при необходимости строка 2 дублируется. Если строка 2 не указана, то ее заменяют символы пробела. Например: DBMS_OUTPUT.put_line('Пример='||LPAD('Привет', 10, 'Да ')); Результат: Пример=Да ДПривет
LTRIM(строка 1 [, строка 2]) Удаляет пробелы в начале строки 1, если строка 2 не указана. Иначе возвращает строку 1, в которой удалены крайние левые символы, идентичные символам строки 2.
NCHR(код) Возвращает по коду символ Unicode
REPLACE(строка_символов, строка_поиска, [строка_замены]) Возвращает " строка_символов", в которой каждое вхождение " строка_поиска" заменяется на " строка_замены". Если " строка_замены" не указана, то все вхождения " строка_поиска" удаляются из " строка_символов".
RPAD(строка 1, длина, строка 2) Возвращает строку 1, дополненную справа до размера указанной длины символами строки 2. Если размер строки 2, меньше указанной длины, то при необходимости строка 2 дублируется. Если строка 2 не указана, то ее заменяют символы пробела.
RTRIM(строка 1, строка 2) Удаляет пробелы в конце строки 1, если строка 2 не указана. Возвращает " строка 1", в которой удалены крайние правые символы идентичные символам строки 2.
SOUNDEX (строка) Возвращает код звучания строки
SUBSTR(исходная строка, a, [, b]) Возвращает часть исходной строки, начинающуюся со стартовой позиции a и имеющую длину b символов. Если a = 0, это равносильно тому, что a = 1. Если a положительно, возвращаются символы слева направо. Если a отрицательно, то стартовая позиция определяется отсчетом с конца строки, но возврат символов идет слева направо! Если b отсутствует, то по умолчанию возвращаются все символы, до конца строки. Если b меньше 1, то возвращается значение NULL.

Окончание табл. 4.6

TRANSLATE(строка_символов, заменяемая_трока, вносимая_строка) Возвращает " строка_символов", в которой все вхождения каждого символа " заменяемая_строка" замещаются соответствующим символом " вносимая_строка". Функция TRANSLATE, является расширением функции REPLACE. Если " заменяемая_строка" длиннее чем " вносимая_строка", все ее лишние символы удаляются поскольку для них нет соответствующих символов во " вносимая_строка". " вносимая_строка" не может быть пустой. Oracle интерпретирует пустую строку как значение NULL, а если любой аргумент функции TRANSLATE является NULL, то результат тоже будет NULL.
TRIM(строка) Удалить пробелы слева и справа в строке.
UPPER(строка) Переводит все символы строки в верхний регистр.

 

Кроме того, в работе могут быть использованы такие функции, как UNISTR, COMPOSE, DECOMPOSE, NLS_INITCAP, NLS_LOWER, NLSSORT, NLS_UPPER, REGEXP_INSTR, REGEXP_LIKE, REGEXP_REPLACE, REGEXP_SUBSTR.

 

Пример работа со строковыми функциями:

set serveroutput on

DECLARE

c1 char(20);

c2 char(40);

BEGIN

c1: =RPAD('qwe', 15, 'xy');

DBMS_OUTPUT.put_line('c1= ' || c1);

c2: =RPAD('приqwe', 40, 'привет');

DBMS_OUTPUT.put_line('c2= ' || c2);

c2: =TRANSLATE(c2, 'привет', '*---*');

DBMS_OUTPUT.put_line('c2 после TRANSLATE = ' || c2);

END;

 

Результат:

c1= qwexyxyxyxyxyxy

c2= приqweприветприветприветприветприветприв

c2 после TRANSLATE = *--qwe*---**---**---**---**---**---







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.