Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кожин / Лекции / Лекция 07 PL_SQL.doc
Скачиваний:
31
Добавлен:
20.03.2016
Размер:
172.03 Кб
Скачать
      1. Групповые функции

Групповые функции возвращают результаты, основанные на груп­пе строк (в отличие от однострочных функций, возвращающих результат для каждой строки). Для разделения результата на меньшие группы используется фраза 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.

      1. Функции преобразования

Функции преобразования переводят значение из одного типа данных в другой. В общем случае такая функция преобразования называется 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-MON­YY". Если формат "J" - Юлианский, то char должен быть числом.

TO_NUMBER(char)

Преобразовывает char, являющийся символьным представлением числа в значение типа NUMBER.

Соседние файлы в папке Лекции