Рядкові функції (довідка модуля Відповіді Oracle BI )

Рядкові функції служать для виконання різних операцій із рядками символів. Рядки символів слід укладати в одиночні лапки.

Перетворення рядка, що складається з одного символу, у відповідний код ASCII (число від 0 до 255). Якщо символьний вираз містить кілька символів, код першого символу повертається у виразі.

Будь-який вираз, результатом якого є рядок символів.

Bit_Length

Повертає довжину вказаного рядка в бітах. Довжина кожного символу в кодовій таблиці Unicode дорівнює 2 байтам, що становить 16 бітів.

Будь-який вираз, результатом якого є рядок символів.

Перетворення числового значення від 0 до 255 символьне значення, що визначається кодом ASCII.

Будь-який вираз, результатом якого є числове значення від 0 до 255.

Char_Length

Повертає довжину вказаного рядка, виражену кількістю символів.

Будь-який вираз, результатом якого є рядок символів.

Передбачено дві форми цієї функції. Перша форма служить об'єднання двох рядків символів. У другій формі застосовується символ поєднання рядків, що дозволяє об'єднати три і більше рядки символів

Об'єднання двох рядків

Розділені комами вирази, значеннями яких є рядки символів.

У цьому прикладі запит повертає наведений нижче результат.

select distinct concat('abc', 'def') from employee CONCAT('abc', 'def')

Об'єднання трьох і більше рядків

strExpr1 strExpr2 . StrExpr n

У цьому прикладі запит повертає наведений нижче результат.

select distinct 'abc' 'def' 'ghi' from employee

Вставлення заданого рядка символів у вказане місцезнаходження в іншому рядкусимволів.

Insert(strExpr1, integer1, integer2, strExpr2)

У першому рядку три символи (цифри 2, 3 та 4), перший з яких (цифра 2) займає другу позицію, замінюються рядком abcd.

select insert('123456', 2, 3, 'abcd') from table

Повертає задану кількість символів на початку рядка.

Будь-який вираз, результатом якого є рядок символів.

Будь-яке позитивне ціле число, що вказує кількість символів, що повертаються на початку рядка.

У цьому прикладі повертаються три перші символи рядка символів 123456.

select left('123456', 3) from table

Повертає довжину вказаного рядка, виражену кількістю символів. Символи пропуску в кінці рядка не враховуються.

Будь-який вираз, результатом якого є рядок символів.

Повертає номер позиції рядка символів до іншого рядка символів. Якщо рядок не знайдено, ця функція повертає значення 0.

Якщо потрібно встановити позицію початку пошуку, замість цієї функції слід скористатися функцією LocateN.

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, який потрібно знайти.

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, у якому потрібно здійснити пошук.

У цьому прикладі повертається значення 4 - номер позиції літери "d" у рядку символів abcdef.

У цьому прикладі повертається значення 0, так як у рядку, в якому виконується пошук, буква "g" відсутня.

Повертає номер позиції рядка символів до іншого рядка символів. Ця функція відрізняється від Locate тільки тим, що пошук починається з позиції, заданої числовим аргументом. Якщо рядок символів не знайдено, ця функція повертає значення 0.Визначення повертаного номера позиції вважається, що перший символ у рядку займає позицію 1 незалежно від значення цілого аргументу.

LocateN(strExpr1, strExpr2, integer)

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, який потрібно знайти.

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, у якому потрібно здійснити пошук.

Будь-яке позитивне (відмінне від нуля) ціле число, що вказує на позицію початку пошуку рядка символів.

У цьому прикладі повертається значення 4 - номер позиції літери "d" у рядку символів abcdef. Пошук починається з літери "c" - третього символу у рядку. При визначенні номера, що повертається позиції вважається, що буква "a" займає позицію 1.

LocateN('d' 'abcdef', 3)

У цьому прикладі повертається значення 0, оскільки буква "b" розташована в рядку до позиції початку пошуку.

LocateN('b' 'abcdef', 3)

Перетворення рядка символів на нижній регістр.

Будь-який вираз, результатом якого є рядок символів.

Octet_Length

Повертає кількість бітів на підставі 8 (кількість байтів) для зазначеного рядка.

Будь-який вираз, результатом якого є рядок символів.

Повертає номер позиції виразу strExpr1 у символьному виразі. Якщо вираз strExpr1 не знайдено, ця функція повертає значення 0.

Position(strExpr1 IN strExpr2)

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, який потрібно знайти.

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, у якому потрібно здійснити пошук.

У цьому прикладі повертається значення 4 - номер позиції літери "d" у рядкусимволів abcdef.

У цьому прикладі в рядку 123456 цифра 9 відсутня, тому як номер позиції цифри 9 повертається значення 0.

Повторення зазначеного виразу n разів.

Будь-який вираз, результатом якого є рядок символів.

Будь-яке позитивне ціле число, що вказує на кількість повторень рядка символів.

У цьому прикладі рядок "abc" повторюється чотири рази.

Заміна одного або кількох символів у вказаному символі іншим символом або кількома іншими символами.

Replace(strExpr1, strExpr2, strExpr3)

Будь-який вираз, результатом якого є рядок символів. Вказує рядок, у якому потрібно замінити символи.

Будь-який вираз, результатом якого є рядок символів. Другий рядок вказує символи, які потрібно замінити у першому рядку.

Будь-який вираз, результатом якого є рядок символів. Третій рядок вказує символи, які потрібно вставити в перший рядок замість символів, що замінюються.

У рядку символів abcd1234 потрібно замінити символи 123 рядком символів zz.

Replace('abcd1234', '123', 'zz')

Повертає задану кількість символів у кінці рядка.

Будь-який вираз, результатом якого є рядок символів.

Будь-яке позитивне ціле число, що вказує кількість символів, що повертаються в кінці рядка.

У цьому прикладі повертаються три останні символи рядка символів 123456.

select right('123456', 3) from table

Вставлення символів пробілу.

Ціле позитивне число; вказує кількість символів пробілу, що вставляються.

Створення нового рядка, що починається після фіксованої кількості символів у вихідному рядку.

Substring(strExpr FROMstartPos)

Будь-який вираз, результатом якого є рядок символів.

Будь-яке позитивне ціле число, що вказує на кількість символів від початку рядка до початкової позиції результату.

Видалення вказаних символів на початку та в кінці рядка.

Trim(BOTH char FROM strExpr)

Будь-який одиночний символ. Якщо цей параметр не вказано (і обов'язкові лапки відсутні), за промовчанням видаляються символи пропуску.

Будь-який вираз, результатом якого є рядок символів.

TrimLeading

Видалення вказаних символів на початку рядка.

Trim(LEADING char FROM strExpr)

Будь-який одиночний символ. Якщо цей параметр не вказано (і обов'язкові лапки відсутні), за промовчанням видаляються символи пропуску.

Будь-який вираз, результатом якого є рядок символів.

TrimTrailing

Видалення вказаних символів у кінці рядка.

Trim(TRAILING char FROM strExpr)

Будь-який одиночний символ. Якщо цей параметр не вказано (і обов'язкові лапки відсутні), за промовчанням видаляються символи пропуску.

Будь-який вираз, результатом якого є рядок символів.

Перетворення рядка символів у верхній регістр.

Будь-який вираз, результатом якого є рядок символів.