- •Краткий справочник по oracle
- •7. Функции sql и oracle7
- •7.1 Числовые функции
- •7.3. Функции работы с датами и временем
- •7.5. Групповые функции
- •9. Псевдо- столбцы и таблицы
- •10. Предложения (команды) sql Oracle7
- •Identified {by password | externally}
- •11. Фразы предложений (команд) sql Oracle7
- •12.2.3. Записи pl/sql
- •12.3.1. Явный курсор
- •12.3.1.2. Открытие курсора (open)
- •12.3.1.6. Атрибуты явного курсора
- •12.5. Обработка ошибок
- •Value_error ora-06502 Арифметическая ошибка, ошибка преобразования,
- •12.5.2. Исключительные ситуации, определяемые пользователем
- •13. Представления словарей данных
- •Index(create,create any, Создает, изменяет и удаляет индексы
- •Insert any,update any)
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" заменой ее строчных букв на
заглавные буквы.
