СУБД 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.
Last modified: Wednesday, November 16, 2022, 8:10 PM