Страница
Основные функции СУБД Oracle
СУБД Oracle предоставляет достаточно большое количество встроенных функций:
Символьные / строчные функции Oracle PL/SQL
- ASCII - возвращает числовое представление крайнего левого символа строки
- ASCIISTR - преобразует строку любого набора символов к ASCII строке, используя набор символов базы данных.
- CHR - является противоположностью функции ASCII. CHR возвращает символ, который основан на числовом коде.
- COMPOSE - возвращает строку Unicode.
- CONCAT - позволяет соединить вместе две строки.
- Оператор конкатенации || - позволяет объединить две или более строк вместе.
- DUMP - возвращает значение varchar2, который включает код типа данных, длину в байтах, и внутреннее представление выражения
- INITCAP - устанавливает первый символ каждого слова в верхний регистр, а остальные в нижний регистр
- INSTR - возвращает n-е вхождение подстроки в строке.
- INSTR2 - возвращает вхождение подстроки в строку, используя UCS2 кодовые точки.
- INSTR4 - возвращает вхождение подстроки в строку, используя UCS4 кодовые точки.
- INSTRB - возвращает вхождение подстроки в строку, байты вместо символов.
- INSTRC - возвращает вхождение подстроки в строку, используя Unicode полные символов.
- LENGTH - возвращает длину указанной строки.
- LENGTH2 - возвращает длину указанной строки, используя UCS2 кодовые точки.
- LENGTH4 - возвращает длину указанной строки, используя UCS4 кодовые точки.
- LENGTHB - возвращает длину указанной строки, используя байты вместо символов.
- LENGTHC - возвращает длину указанной строки, используя полные символы Unicode.
- LOWER - преобразует все символы в заданной строке в нижний регистр. Если есть символы в строке, которые не являются буквами, они не влияют на эту функцию.
- LPAD - добавляет с левой части строки определенный набор символов (при не нулевом string1).
- LTRIM - удаляет все указанные символы с левой стороны строки.
- NCHR - возвращает символ на основе number_code в национальной кодировке.
- REGEXP_INSTR - является расширением функции INSTR. Она возвращает местоположение шаблона регулярного выражения в строке. Эта функция, представленная в Oracle 10g, позволит вам найти подстроку в строке, используя сопоставление шаблонов регулярных выражений.
- REGEXP_LIKE - позволяет выполнять регулярные выражения в предложении WHERE в запросах SELECT, INSERT, UPDATE или DELETE.
- REGEXP_REPLACE - является расширением функции REPLACE. Эта функция, введенная в Oracle 10g, позволит вам заменить последовательность символов в строке другим набором символов, используя сопоставление шаблонов регулярных выражений.
- REGEXP_SUBSTR - является расширением функции SUBSTR. Эта функция, представленная в Oracle 10g, позволит вам извлечь подстроку из строки, используя сопоставление шаблонов регулярных выражений.
- REPLACE - заменяет последовательность символов в строке другим набором символов.
- RPAD - дополняет с правой части строки определенный набор символов (при не нулевом string1).
- RTRIM - удаляет все указанные символы из правой части строки.
- SOUNDEX - возвращает фонетическое представление (так, как это звучит) строки.
- SUBSTR - позволяет извлекать подстроку из строки.
- TO_CHAR - преобразует число или дату в строку.
- TRANSLATE - заменяет последовательность символов в строке другим набором символов. Тем не менее она заменяет один символ за один раз.
- TRIM - удаляет все указанные символы с начала или окончания строки.
- UPPER - преобразует все символы строки в верхний регистр. Если есть символы в строке, которые не являются буквами, они не влияют на эту функцию.
- VSIZE - возвращает длину в байтах для внутреннего представления выражения.
Числовые / математические функции Oracle PL/SQL
- ABS - возвращает абсолютное значение числа.
- ACOS - возвращает арккосинус числа.
- ASIN - возвращает арксинус числа.
- ATAN - возвращает арктангенс числа.
- ATAN2 - возвращает арктангенс n и m.
- AVG - возвращает среднее значение выражения.
- BITAND - возвращает целое число, представляющее побитовую операцию AND над битами expr1 и expr2.
- CEIL - возвращает наименьшее целое число, которое больше или равно number.
- COS - возвращает косинус числа.
- COSH - возвращает гиперболический косинус числа.
- COUNT - возвращает количество возращенных запросом строк.
- EXP - возвращает e, возведенное в n-ную степень, где е = 2,71828183.
- FLOOR - возвращает наибольшее целое значение, равное или меньшее, чем число.
- GREATEST - возвращает наибольшее значение в списке выражений.
- LEAST - возвращает наименьшее значение в списке выражений.
- LN - возвращает натуральный логарифм числа.
- LOG - возвращает логарифм n по основанию m.
- MAX - возвращает максимальное значение выражения.
- MEDIAN - возвращает медиану выражения.
- MIN - возвращает минимальное значение выражения.
- MOD - возвращает остаток от деления m на n.
- POWER - возводит m в степень n.
- REGEXP_COUNT - подсчитывает количество вхождений шаблона в строку. Эта функция, введенная в Oracle 11g, позволит вам подсчитать количество раз, когда подстрока встречается в строке с использованием сопоставления шаблонов регулярных выражений.
- REMAINDER - возвращает остаток от деления m на n.
- ROUND (для чисел) - возвращает число, округленное до определенного количества знаков после запятой.
- SIGN - возвращает значение, определяющее знак числа.
- SIN - возвращает синус числа.
- SINH - возвращает гиперболический синус числа.
- SQRT - извлекает квадратный корень из числа.
- SUM - возвращает суммарное значение выражения.
- TAN - возвращает тангенс числа.
- TANH - возвращает гиперболический тангенс числа.
- TRUNC (для чисел) - возвращает число, усеченное до определенного количества знаков после запятой.
Дата / время функции Oracle PL/SQL
- ADD_MONTHS - возвращает дату плюс n месяцев.
- CURRENT_DATE - возвращает текущую дату в часовом поясе текущей сессии SQL как установлено с помощью команды ALTER SESSION.
- CURRENT_TIMESTAMP - возвращает текущую дату и время в часовом поясе текущей сессии SQL как установлено с помощью команды ALTER SESSION. Она возвращает дату/время со значением часового пояса.
- DBTIMEZONE - возвращает часовой пояс базы данных как смещения часового пояса (в следующем формате: '[+|-]TZH:TZM') или название региона часового пояса.
- EXTRACT - извлекает значение из даты или значения интервала.
- LAST_DAY - возвращает последний день месяца на основе значения даты.
- LOCALTIMESTAMP - возвращает текущую дату и время в часовом поясе из текущей сессии SQL, как установлено командой ALTER SESSION. Это возвратит значение TIMESTAMP.
- MONTHS_BETWEEN - возвращает количество месяцев между date1 и date2.
- NEW_TIME - возвращает дату и время часового пояса zone2 для даты и времени часового пояса zone1, заданных date.
- NEXT_DAY - возвращает первый день недели, который больше date.
- ROUND (для дат) - возвращает дату округленную до определенной единицы измерения.
- SESSIONTIMEZONE - возвращает часовой пояс текущей сессии в качестве смещения часового пояса (в следующем формате: '[+|-]TZH:TZM') или наименование региона часового пояса.
- SYSDATE - возвращает текущую системную дату и время на вашей локальной базе данных.
- SYSTIMESTAMP - возвращает текущую системную дату и время (в том числе доли секунды и часового пояса) на ваше локальной базе данных.
- TO_DATE - преобразует строку в дату.
- TRUNC (для дат) - возвращает дату, усеченную к определенной единице измерения.
- TZ_OFFSET - возвращает смещение часового пояса из значения.
Аналитические функции Oracle PL/SQL
- CORR - возвращает коэффициент корреляции множества пар чисел.
- COVAR_POP - возвращает ковариацию совокупности множества пар чисел.
- COVAR_SAMP - возвращает выборочную ковариацию набора пар чисел.
- CUME_DIST - возвращает кумулятивное распределение значений в группе значений. Функция CUME_DIST вернет значение, которое > 0 и <= 1.
- DENSE_RANK - возвращает ранг строки в упорядоченной группе строк. Она очень похожа на функцию RANK. Однако функция RANK может вызвать непоследовательное ранжирование если тестируемые значения одинаковы. Поэтому, функция DENSE_RANK всегда будет приводить к последовательному ранжированию строк.
- FIRST_VALUE - возвращает первое значение в упорядоченном наборе значений из аналитического окна. Она похожа на функции FIRST_VALUE и NTH_VALUE.
- LAG - аналитическая функция, которая позволяет запрашивать более одной строки в таблице, в то время, не имея присоединенной к себе таблицы. Это возвращает значения из предыдущей строки в таблице. Для возврата значения из следующего ряда, попробуйте использовать функцию LEAD.
- LAST_VALUE - возвращает последнее значение в упорядоченном наборе значений из аналитического окна. Она похожа на функции FIRST_VALUE и NTH_VALUE.
- LEAD - является аналитической функцией, что позволяет запрашивать более одной строки в таблице, в то же время, не имея для присоединения к себе таблицы. Возвращает значения из следующей строки в таблице. Для возврата значения из предыдущего ряда, попробуйте использовать функцию LAG.
- LISTAGG - объединяет значения measure_column для каждой группы на основе order_by_clause.
- NTH_VALUE - возвращает n-ое значение в упорядоченном наборе значений из аналитического окна. Она похожа на функции FIRST_VALUE и LAST_VALUE, за исключением того, что NTH_VALUE позволяет найти определенную позицию в аналитическом окне, например, 2-е, 3-е или 4-е значение.
- RANK - возвращает ранг значения в группе значений. Это очень похоже на функцию DENSE_RANK. Однако функция RANK может возвращать не последовательное ранжирование, если тестируемые значения одинаковы. Тогда как, функция DENSE_RANK всегда будет приводить к последовательному ранжированию. Функцию RANK можно использовать двумя способами - в качестве агрегатной функции или в качестве аналитической функции.
- STDDEV - возвращает стандартное отклонение списка чисел. Функцию STDDEV можно использовать двумя способами - в качестве агрегатной функции или в качестве аналитической функции.
- VAR_POP - возвращает дисперсию совокупности множества чисел.
- VAR_SAMP - возвращает выборочную дисперсию набора чисел.
- VARIANCE - возвращает дисперсию набора чисел.
Функции преобразования Oracle PL/SQL
- BIN_TO_NUM - преобразует вектор в соответствующее десятичное число.
- CAST - конвертирует (преобразует) один тип данных в другой.
- CHARTOROWID - преобразует символ, varchar2, NCHAR или NVARCHAR2 к ROWID.
- CONVERT - преобразует строку из одного набора символов в другой.
- DECOMPOSE - принимает строку и возвращает строку Unicode.
- FROM_TZ - преобразует значение TIMESTAMP, в TIMESTAMP со значением часового пояса.
- HEXTORAW - преобразует строку, представляющую шестнадцатеричное число в значение типа RAW.
- NUMTODSINTERVAL - преобразует числовое значение в значение типа INTERVAL DAY TO SECOND.
- NUMTOYMINTERVAL - преобразует числовое значение в значение типа INTERVAL YEAR TO MONTH.
- RAWTOHEX - преобразует значение типа RAW в шестнадцатеричное представление символа.
- TO_CLOB - преобразует символьные данные типа CLOB
- TO_DSINTERVAL - преобразует LONG или LONG RAW значения в LOB значений.
- TO_MULTI_BYTE - возвращает символьное значение со всех однобайтовых символов и преобразовывает в многобайтовые символы. Для использования этой функции, набор символов вашей базы данных должен состоять как из однобайтных, так и из многобайтных символов.
- TO_NCLOB - преобразует значение LOB в значение NCLOB.
- TO_NUMBER - преобразует строку в число.
- TO_SINGLE_BYTE - возвращает значение символа в котором все многобайтовые символы преобразованы в однобайтовые символы. Для использования этой функции, набор символов вашей базы данных должен состоять как из однобайтовых, так и из многобайтовых символов.
- TO_TIMESTAMP_TZ - преобразует строку в значение типа TIMESTAMP с TIMEZONE (часовым поясом).
- TO_TIMESTAMP - преобразует строку в значение TIMESTAMP.
- TO_YMINTERVAL - преобразует строку в значение типа NTERVAL от YEAR до MONTH.
Вспомогательные функции Oracle PL/SQL
- BFILENAME - возвращает локатор BFILE, соответствующий имени физического файла filename операционной системы.
- CARDINALITY - возвращает количество элементов во вложенной таблице.
- COALESCE - возвращает первое ненулевое выражение из списка. Если все выражения определены как Null, то функция COALESCE вернет Null.
- DECODE - имеет функциональные возможности оператора IF-THEN-ELSE.
- EMPTY_BLOB - может использоваться для инициализации пустых LOB столбцов в операторах INSERT или UPDATE или он может быть использован для инициализации переменной LOB.
- EMPTY_CLOB - может использоваться для инициализации пустых LOB столбцов в операторах INSERT или UPDATE или он может быть использован для инициализации переменной LOB.
- GROUP_ID - присваивает номер каждой группе в результате оператора GROUP BY. Функция GROUP_ID наиболее часто используется для выявления дублирующихся групп в результатах запроса.
- LNNVL - используется в предложении WHERE SQL запроса, чтобы оценить состояние, когда один из операндов может содержать значение NULL.
- NANVL - позволяет заменить значение для числа с плавающей точкой, такие как BINARY_FLOAT или BINARY_DOUBLE, когда встречается значение Nan (Not a number). Это наиболее часто используется для преобразования значение Nan (Not a number) или в NULL или 0.
- NULLIF - сравнивает expr1 и expr2. Если expr1 и expr2 равны, функция NULLIF возвращает NULL. В противном случае она возвращает expr1.
- NVL - позволяет заменить значение, когда встречается Null значение.
- NVL2 - расширяет функциональность функции NVL. Это позволяет заменять значение, когда встречается Null значение, а также когда встречается не-Null значение.
- SQLCODE - возвращает номер ошибки, связанной с исключительной ситуацией. Эта функция может быть использована только в разделе обработки исключений вашего кода.
- SQLERRM - возвращает сообщение об ошибке, связанной с исключительной ситуацией. Эта функция может быть использована только в разделе обработки исключений вашего кода.
- SYS_CONTEXT - используется для получения информации о состоянии среды окружения Oracle.
- UID - возвращает целое число идентифицирующее текущего пользователя базы данных.
- USER - возвращает user_id из текущего сеанса Oracle.
- USERENV - используется для получения информации о текущей сессии Oracle. Хотя эта функция все еще существует в Oracle для обратной совместимости, рекомендуется использовать вместо нее функцию sys_context.
Последнее изменение: Среда, 16 ноября 2022, 20:10