Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sdo.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
505 Кб
Скачать
☆

7. Функции sql и oracle7

Функции могут быть использованы везде, где используются переменные, столбцы

или выражения (соответствующего типа). Их обычно подразделяют на числовые, сим-

вольные, групповые (функции SQL), функции работы с датами (дата и время), функ-

ции преобразования, и прочие функции.

В описаниях функций используются следующие параметры:

char,char1,char2,... - константы в апострофах или выражения типа CHAR

d,d1,d2 - константы в апострофах или выражения типа DATE

expr,expr1,expr2,... - любые выражения

- 9 -

fmt - формат данных

k,m,n - любые числовые константы или выражения типа NUMBER.

nls - выражение вида `NLS_SORT = name`.

raw - исходные данные

rowid - внутренний уникальный идентификатор строки

set,set1,set2 - наборы символов

z1,z2 - часовые пояса (см. "Функции работы с датами и временем")

7.1 Числовые функции

Функции Возвращаемое значение

------------- ----------------------------------------------------------------

ABS(n) Абсолютное значение n, большее или равное n.

CEIL(n) Наименьшее целое, не меньшее n.

COS(n) Косинус n, заданного в радианах.

COSH(n) Гиперболический косинус n в радианах.

EXP(n) Возведение e (exp) в степень n (где е = 2.7182818).

FLOOR(n) Наибольшее целое, меньшее или равное n.

LN(n) Натуральный логарифм n, где n > 0.

LOG(m,n) Основание m логарифма n.

MOD(m,n) Остаток от деления m на n.

POWER(m,n) m в степени n. Если n не целое, то оно усекается до целого.

ROUND(n[,m]) n, округленное до m-того десятичного знака; если m опущено, то

оно принимается равным 0. m может быть отрицательным для округ-

ления цифр левее десятичной точки.

SIGN(n) Если n<0, то -1; если n=0, то 0; если n>0, то 1.

SIN(n) Синус n, заданного в радианах.

SINH(n) Гиперболический синус n в радианах.

SQRT(n) Квадратный корень из n; если n < 0, то NULL.

TAN(n) Тангенс n, заданного в радианах.

TANH(n) Гиперболический тангенс n в радианах.

TRUNC(n[,m]) n, усеченное до m десятичных знаков; если m опущено, то оно

принимается равным 0. m может быть отрицательным для усечения

(обнуления) цифр слева от десятичной точки.

7.2 Символьные функции

Функция Возвращаемое значение

---------------- -------------------------------------------------------------

ASCII(char) Код ASCII первого символа символьной переменной "char".

CHR(n) Символ, код ASCII которого равен n

CONCAT(char1, Соединяет (конкатенирует) строку "char1" со строкой "char2".

char2) (Эквивалентна выражению: char1 || char2.)

INITCAP(char) Символьная переменная с первыми буквами слов, начинающихся

с заглавной буквы.

INSTR(char1, Позиция m-того включения "char2" в "char1" при начале поиска

char2[,n[,m]]) с позиции n. Если m опущено, по умолчанию предполагается 1;

аналогично для n. Позиции даются относительно первого знака

"char1", даже если n > 1.

INSTRB(char1, Эквивалентна INSTR, но n и результат возвращаются в байтах,

char2[,n[,m]]) а не в позициях символов. Эту функцию полезно использовать

при работе с многобайтовыми символьными строками.

LENGTH(char) Длина в знаках символьной переменной "char".

LENGTHB(char) Длина в байтах символьной переменной "char".

LOWER(char) "char", где все буквы преобразованы в строчные (маленькие).

LPAD(char1,n Строка "char1", дополненная слева до длины n последователь-

[,char2]) ностью символов из строки "char2" с повторением этой после-

довательности столько раз сколько необходимо. Если "char2"

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

Функция Возвращаемое значение

---------------- -------------------------------------------------------------

LTRIM(char Удаляет из "char" начальные знаки до тех пор, пока не появит-

[,set]) ся знак, отсутствующий среди знаков "set". При отсутствии

"set" из "char" удаляются все левые пробелы.

NLS_INITCAP(char Аналог INITCAP, но необязательный аргумент "nls" позволяет

[,nls]) задать используемый в функции национальный язык.

NLS_LOWER(char Аналог LOWER, но необязательный аргумент "nls" позволяет

[,nls]) задать используемый в функции национальный язык.

NLSSORT(char Байтовая строка, использованная для сортировки "char" на базе

[,nls]) языка, заданного аргументом "nls". Эту функцию полезно приме-

нять для сравнения строк в различных языках.

NLS_UPPER(char Аналог UPPER, но необязательный аргумент "nls" позволяет

[,nls]) задать используемый в функции национальный язык.

REPLACE(char1, Строка, полученная из "char1", в которой все вхождения "char2"

char2[,char3]) заменены на "char3". Если "char3" отсутствует,

то все вхождения "char2" в "char1" - удаляются.

RPAD(char1,n строка "char1", дополненная справа символами "char2", с повто-

[,char2]) рением, если необходимо; если "char2" опущена, "char1" допол-

няется пробелами.

RTRIM(char Удаляет из "char" конечные знаки до тех пор, пока не появится

[,set]) знак, отсутствующий среди знаков "set". При отсутствии

"set" из "char" удаляются все правые пробелы.

SOUNDEX(char) Фонетическое представление "char" (четырехсимвольное представ-

ление, показывающее, как звучит начало "char").

SUBSTR(char,m Подстрока, получаемая из "char", начиная с символа m. Если

[,n]) задано n, то подстрока ограничивается n символами. При отри-

цательном m символы отсчитываются с конца "char".

SUBSTRB(char,m Эквивалентно SUBSTR, но аргументы m и n выражаются не в

[,n]) символах, а в байтах. Эту функцию полезно использовать при

работе с многобайтовыми символьными строками.

TRANSLATE(char, строка, полученная трансляцией "char" в наборе "set1" в

set1, set2) наборе "set2".

UPPFR(char) строка, полученная из "char" заменой ее строчных букв на

заглавные буквы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]