Выбрать главу

ка_поиска должно быть возвращено).

Возвращает количество символов в строке х.

Конвертирует буквенные символы строки х в символы нижнего

регистра и возвращает полученную строку.

Заполняет строку х пробелами слева, чтобы довести общую длину

строки до заданного числа символов (ширина). При желании

вы можете указать дополнительный параметр строка_заполни-

тель, определяющий строку, которой будут заполнены все свободные

символы слева.

Удаляет символы из левой части строки х. Дополнительный параметр

удаляемая_строка определяет подлежащие удалению

символы; если удаляемая_строка не задана, по умолчанию будут

удалены пробелы.

Возвращает указанное значение, если х является специальным

значением NaN (не число). В противном случае будет возвращено

значение х. (Эта функция появилась в Oracle Database 10g.)

Возвращает значение, если х имеет значение null; в противном

случае возвращает х.

Возвращает значение"!, если х имеет значение null; в противном

случае возвращает значение2.

Ищет вхождение строки строка_поиска в строку х и заменяет ее

строкой строка_замены.

96 Глава 4

Таблица 4.1. Символьные функции (окончание)

Функция Описание

RPAD(x, ширина [, стро-

ка_заполнитель])

RTRIM(x [, удаляемая_

строка])

SOUNDEX(x)

SUBSTR(x, начало_поиска

[.длина])

Тй1М([удапяемая_строка

FROM] х)

UPPER(x)

ASCII0 и CHR()

То же самое, что и lpad(), но строка х дополняется справа.

То же самое, что и l t r im (), но х обрезается справа.

Возвращает строку, содержащую фонетическое представление х.

Это позволяет сравнивать слова, которые пишутся по-разному,

но по-английски звучат похоже.

Возвращает подстроку х, начинающуюся с позиции, заданной параметром

начало_поиска. Можно указать дополнительный параметр

длина, определяющий длину выходной подстроки.

Удаляет символы с правого и левого концов строки х. Можно задать

дополнительный параметр удаляемая_строка, позволяющий

указать удаляемые символы; если он не задан, по умолчанию будут

удаляться пробелы.

Конвертирует буквенные символы в символы верхнего регистра

и возвращает полученную строку.

Функция A S C lI( x ) используется для получения кода ASCII для

символа х. Функция CHR(x) используется для получения символа

с кодом ASCII х.

В следующем примере получены коды ASCII для символов a, A,z, Z, О и

9 при помощи ASCII():

□ SELECT ASCIIC а'), ASCII(‘A ’), ASCII(‘z’), ASCII('Z’), ASCII(O),

ASCII(9)

FROM dual;

A S C I I ( 'A ') ASCII( ' A ' ) ASCII( ' Z ' ) A S C I I ( 'Z ') ASCII(O) ASCII(9)

97 65 122 90 48 57

Примечание В этом примере используется таблица dual; как уже было показано в Главе 2,

эта таблица содержит одну строку, с помощью которой можно выполнять запросы, не привязанные

к какой-либо конкретной таблице.

В следующем примере с помощью функции CHR() выводятся символы,

коды ASCII для которых равны 97, 65, 122, 90, 48 и 57:

□ SELECT CHR(97), CHR(65), CHR(122), CHR(90), CHR(48), CHR(57)

FROM dual;

С С С С С С

a A z Z 0 9

Символы, возвращаемые в этом примере функцией CHR(), в точности

те же самые, что были переданы на вход функции ASCII() в предыдущем

Использование простых функций 97

примере. Это демонстрирует, что функции ASCIIQ и CHR() выполняют

противоположные действия.

C O N C A T 0

Функция C0NCAT( х , у) используется для того, чтобы объединить строки

х и у (то есть дописать строку у в конец строки х). После этого функция

C0NCAT() возвращает полученную строку.

В следующем примере из таблицы customers выбираются столбцы first_

name и last_name, которые затем объединяются с помощью функции

C0NCAT():

□ SELECT CONCAT(first_name, last_name)

FROM customers;

CONCAT(FIRST_NAME, LA

JohnBrown

CynthiaGreen

SteveWhite

G a ilB la c k

DoreenBlue

Примечание Функция CONCATO - это то же самое, что и оператор конкатенации (II) (см.

главу 2).

IN IT C A P ()

Функция INITCAP () используется для преобразования начальных букв

каждого слова строки х в верхний регистр.

В следующем примере из таблицы products выбираются столбцы

product_id и description и функция IN ITCA P () применяется для преобразования

первых букв каждого слова столбца description в верхний регистр:

□ SELECT product_id, INITCAP(description)

FROM products

WHERE product_id < 4;

PRODUCT_ID INITCAP(DESCRIPTION)

1 A D e s c rip tio n Of Modern Science

2 In tro d u c tio n To Chemistry

3 A S ta r Explodes

IN S T R ()

Функция INSTR(x, строка_поиска [, начало_поиска] [, вхождение]) используется

для поиска в х строки строка_поиска. INSTR() возвращает позицию,

в которой было обнаружено вхождение подстроки строка_поиска.