
Групповые функции
Групповые функции возвращают результаты, основанные на группе строк (в отличие от однострочных функций, возвращающих результат для каждой строки). Для разделения результата на меньшие группы используется фраза GROUP BY оператора SELECT.
Фраза DISTINCT заставляет групповые функции рассматривать только отличающиеся значения выражений; ALL включает в рассмотрение все значения, включая дублирующиеся. Например, среднее значение 1,1,1,3 для DISTINCT равно 1.5, а для ALL оно будет равно 2. (Так в оригинале, но правильно должно быть наоборот: ALL=1.5; DISTINCT=2. - Прим. перев.) Если в операторе SELECT опущены обе этих фразы, предполагается ALL.
Все эти функции (кроме COUNT(*)) пропускают значения NULL.
Если в указывается "expr", тип данных аргумента может быть CHAR, NUMBER или DATE.
AVG([DISTINCT | ALL] n) |
Возвращает среднее значение n, игнорируя значения null. |
COUNT([DISTINCT | ALL] expr) |
Возвращает количество строк, где expr не NULL. |
COUNT(*) |
Возвращает число строк в таблице, включая дублирующиеся и содержащие NULL. |
MAX([DISTINCT | ALL] expr) |
Возвращает максимальное значение expr. |
MIN([DISTINCT | ALL] expr) |
Возвращает минимальное значение expr. |
STDDEV([DISTINCT | ALL] n) |
Возвращает среднеквадратичное отклонение n, игнорируя значения null. |
SUM([DISTINCT | ALL] n) |
Возвращает сумму значений n. |
VARIANCE([DISTINCT | ALL] n) |
Возвращает дисперсию n, игнорируя значения null. |
Функции преобразования
Функции преобразования переводят значение из одного типа данных в другой. В общем случае такая функция преобразования называется datatypeTOdatatype. Первый datatype - это входная переменная, второй - выходная. Если в имени функции указан только выходной тип, значит входным может быть любой действительный тип данных системы ORACLE.
CHARTOROWID(char) |
Преобразование значения из типа CHAR в ROWID. |
CONVERT(char [,dest_char_set[ ,source_char_set] ]) |
Преобразовывает между двумя различными реализациями одного символьного набора. Например, из символов DEC 8 bit в символы HP 8 bit. dest_char_set - имя символьного набора, в который будет выполняться преобразование. Это может быть имя столбца базы, содержащего название символьного набора или символьным литералом. Умалчиваемое значение 'US7ASCII'. source_char_set - имя символьного набора, в котором данные хранятся в базе. Это может быть имя столбца, содержащего имя набора или символьный литерал. Умалчиваемое - текущее значение аргумента <char_set> (параметр LANGUAGE в файле INIT.ORA). Существуют следующие стандартные символьные наборы: US7ASCII (умалчиваемый) символьный набор US 7-bit ASCII WE8DEC западноевропейский 8-bit ASCII фирмы DEC WE8HP западноевропейский 8-bit ASCII фирмы HP F7DEC французский 7-bit ASCII фирмы DEC WEIBMPC западноевропейский 8-bit ASCII, используемый в IBM PC.
|
HEXTORAW(char) |
Преобразует символьное значение, состоящее из шестнадцатеричных цифр в двоичный вид (пригодный для занесения в столбец типа RAW |
RAWTOHEX(raw) |
Преобразование raw в символьное значение, состоящее из шестнадцатеричных цифр. |
ROWIDTOCHAR( rowed) |
Преобразование значений ROWID в тип данных CHAR. В результате преобразования всегда получается строка длиной 18 символов. |
TO_CHAR(n[,fmt]) |
Преобразование значения типа NUMBER в тип CHAR или значения типа DATE в тип CHAR, используя необязательную строку формата. fmt должен быть числовым форматом или форматом типа дата соответственно. Формат и число символов результата, возвращаемого функцией зависят от указанного значения fmt. |
TO_DATE(char[,fmt]) |
Преобразует char в значение типа дата. Текущие значения месяца, года и т.д. применяются в случае, если они не точно определяются из аргумента. fmt - это символьное значение в формате даты, которое специфицирует формат char. Информация о форматах предоставляется ниже, в разделе "Модели форматов". Если fmt опущен, значение даты в символьном формате должно быть в виде "DD-MONYY". Если формат "J" - Юлианский, то char должен быть числом. |
TO_NUMBER(char) |
Преобразовывает char, являющийся символьным представлением числа в значение типа NUMBER. |