Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
12.65 Mб
Скачать

Приложение 5. Встроенные функции pl/sql субд Oracle

Числовые функции (аргументы и результаты типа Number).

Abs (n) ‑ абсолютное значение n.

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

Cos (a) ‑ косинус угла a, выраженного в радианах.

Cosh (n) ‑ гиперболический косинус числа n.

Exp (n) ‑ число e, возведенное в степень n.

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

Ln (n) ‑ натуральный логарифм числа n, где n > 0.

Log (m, n) ‑ логарифм по основанию m числа n, где m > 1, а n > 0.

Mod (m, n) ‑ остаток от деления m на n. Если n равно 0, то возвращается m.

Power (m, n) ‑ возвращает m в степени n. Если m < 0, то n должно быть целым.

Round (m[,n]) ‑ округляет m до n десятичных позиций. Если n опущено, то m округляется до нуля десятичных позиций (до целого). Число n может быть отри­ца­тель­ным, что позволяет округлять его до десятков, сотен и т.п.

Sign (n) ‑ возвращает -1, если n<0; 0, если n=0; 1, если n>0.

Sin (a), Tan (a) ‑ синус, тангенс угла a, выраженного в радианах соответственно.

Sinh (n), Tanh (n ‑ гиперболический синус, тангенс числа n соответственно.

Sqrt (n) ‑ квадратный корень числа n (n>=0).

Trunc (m [, n]) ‑ возвращает m, усеченное до n (0) десятичных позиций. Число n мо­жет быть отрицательным, что позволяет обнулять цифры десятков, сотен и т.п.

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

Функции, возвращающие символьные значения, всегда возвращают значе­ние типа Varchar2 с двумя исключениями. Функции Upper и Lower возвращают зна­че­ние типа Char, если им передан аргумент типа Char, иначе ‑ Varchar2.

Ascii (char) ‑ возвращает код сопоставляющей последовательности, который пред­ставляет символ char в наборе символов базы данных.

Chr (num) ‑ возвращает символ, который имеет код n в сопоставляющей после­до­вательности набора символов базы данных.

Concat (str1, str2) ‑ присоединяет строку str2 к строке str1 и возвращает результат.

Initcap (str) ‑ возвращает строку str, в которой первая буква каждого слова преоб­ра­зована в прописную, а остальные ‑ в строчные. Слова отделяются друг от друга про­пус­ками или неалфавитно-цифровыми символами.

Instr/Instrb (str1, str2 [, pos [, n]]) ‑ возвращает позицию n-го вхождения (1) строки str2 в стро­ку str1, начиная поиск с позиции pos (1). Если pos<0, то осуществ­ляется поиск от конца строки str1. Позиция возвращается относительно пер­вого символа строки str1, даже если поиск начинается не с позиции 1, и вы­ра­же­­на в символах (возмож­но в двухбайтных)/байтах. Если поиск неудачен, то возвращается 0.

Length/Lengthb (str) ‑ возвращает число символов/байт в строке str. Если строка str име­ет тип Char, то в длину входят хвостовые пробелы. Если строка str пуста, то возвращает Null.

Lower/Upper(str) - возвращает строку str, в которой все буквы преобразованы в строч­ные/про­писные.

Lpad/Rpad (str, len[, pad]) ‑ возвращает строку str, дополненную слева/справа до длины len це­поч­кой символов pad (пробел), повторяющейся столько раз, сколько не­об­хо­димо. Если строка str длиннее len символов, то возвращаются первые len символов str.

Ltrim/Rtrim (str [, set]) ‑ возвращает строку str, из которой удалены левые/правые вплоть до первого символа, не принадлежащего множеству set (пробел).

Replace (str1, str2 [,str3]) ‑ возвращает строку str1, в которой каждое вхождение под­ст­ро­ки str2 заменено строкой str3. Если строка str3 не задана, то все вхождения под­ст­ро­ки str2 удаляются из строки str1. Если не специфицированы ни поисковая подстрока, ни строка замены, то возвращается Null.

Substr/Substrb (str, pos [, len]) ‑ возвращает подстроку строки str, начинающуюся с символь­ной/байтовой позиции pos<>0 и содержащую len>0 символов/байтов (или, если чис­ло len опущено, то все сим­волы до конца строки str). Если pos<0, то подсчиты­вают­ся символы/байты от конца строки str.

Translate (str, set1, set2) ‑ возвращает строку str, в которой все символы из множества set1 заменены соответствующими символами из множества set2, а все прочие сим­во­лы оставлены без изменений. Если set1 содержит больше символов, чем set2, то лишние символы в конце множества set1 не имеют аналогов в множестве set2. Поэтому, если такие символы встречаются в строке str, то они удаляются.