- •Краткий справочник по 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.5. Групповые функции
Групповые функции имеют значение только в запросах и подзапросах.
Использование DISTINCT позволяет учитывать только различающиеся значения
аргумента "expr". При указании ALL (или по умолчанию) учитываются все значения
"expr". Например, DISTINCT при нахождении среднего значения из 1,1,1, и 3
дает результат 2, тогда как ALL при этой же операции дает результат 1.5.
Функция Возвращаемое значение
------------------- ----------------------------------------------------------
AVG([DISTINCT| Среднее значение "expr", с игнорированием пустых
ALL]expr) (NULL) значений
COUNT({[DISTINCT| Количество строк, в которых "expr" не является пустым
ALL]expr|*}) (NULL) значением. Установка "*" позволяет подсчитать
все выбранные строки, включая строки с NULL значениями
MAX([DISTINCT| Максимальное значение "expr"
ALL]expr)
MIN([DISTINCT| Минимальное значение "expr"
ALL]expr)
STDDEV([DISTINCT| Среднеквадратичное (стандартное) отклонение от "expr"
ALL]expr) с игнорированием пустых (NULL) значений
SUM([DISTINCT| Cумма значений "expr"
ALL]expr)
VARIANCE([DISTINCT| Дисперсия "expr", с игнорированием пустых значений
ALL]expr)
7.6. Прочие функции
Функция Возвращаемое значение
--------------- --------------------------------------------------------------
DUMP(expr[,k Строка символов, содержащая код типа данных, длину в байтах
[,m[,n]]] ) и внутреннее представление "expr". Необязательный аргумент
k позволяет задать представление возвращаемого значения:
8 - восьмеричное, 10 - десятичное, 16 - шестнадцатиричное,
17 - одиночные символы. Необязательный аргумент m задает
начальную позицию в "expr", а необязательный аргумент n
- длину возвращаемого значения, начиная с m.
GREATEST(expr1, Наибольшее значение из перечня. Пеpед сpавнением все выра-
expr2,...) жения пpеобpазуются к типу пеpвого выpажения.
LEAST(expr1, Наименьшее значение из перечня. Пеpед сpавнением все выра-
expr2,...) жения пpеобpазуются к типу пеpвого выpажения.
NVL(n,expr) Если n равно NULL, возвpащает "expr", иначе возвращает n.
n и "expr" могут быть любого типа. Тип возвpащаемой вели-
чины такой же как для n.
UID Целое число, уникальным образом идентифицирующее текущего
пользователя.
USER Имя текущего пользователя.
- 13 -
Функция Возвращаемое значение
--------------- --------------------------------------------------------------
USERNV(char) Информация о среде текущего сеанса. Если "char" равен:
`ENTRYID` - возвращается доступный идентификатор элемента,
за которым идет слежение;
`LANGUAGE` - возвращает используемый язык;
`SESSIONID` - возвращается идентификатор сеанса пользователя;
`TERMINAL` - возвращается идентификатор терминала пользо-
вателя (в терминах операционной системы).
VSIZE(expr) Число байтов во внутpеннем пpедставлении "expr".
8. Форматы
8.1. Числовые форматы (для fmt аргумента функции TO_CHAR)
Элемент Пример Описание
------- --------- ----------------------------------------------------------
9 9999 Количество цифр, определяющих ширину вывода.
0 0999 Вывод ведущих нулей.
$ $9999 Вывод перед значением знака доллара.
B B9999 Вывод пробелов вместо ведущих нулей.
MI 9999MI Вывод знака "-" после отрицательных чисел.
S S9999 Вывод "+" для положительных чисел и "-" для отрицательных.
PR 9999PR Вывод отрицательных чисел в <угловых скобках>.
D 99D99 Вывод десятичного разделителя.
G 9G999 Вывод разделителя групп (например, триад в денежных данных).
C C999 Вывод символа интернациональной денежной единицы.
L L999 Вывод конкретного денежного символа.
Запятая 9,999 Вывод запятой в указанной позиции.
Точка 99.99 Вывод точки в указанной позиции.
V 999V99 Умножение на 10 в N-ой степени, где N - задается в виде
количества девяток после `V`.
EEEE 9&999EEEE Вывод в экспоненциальной форме.
RN (rn) RN upper- or lower-case Roman numerals (numbers in range 1..3999).
DATE `DATE` Returns value converted from Julian date to `MM/DD/YY` date format.
DATE DATE Высвечивание в формате даты `MM/DD/YY`. Для дат,хранящихся
как числовые величины (ORACLE версия 2).
8.2. Символьные форматы
Символьный формат состоит из буквы `A` и следующего за ней указания ширины
строки, столбца или выражения в символах. Если значение не укладывается в
указанную ширину, оно будет сдвинуто или обрезано в зависимости от того была
ли выполнена установка SET WRAP или SET TRUNC.
8.3. Форматы дат и времени
Формат Описание
------------------- ----------------------------------------
SCC или СС Век; `S`- префикс перед датой (до н.э.) с`-`.
YYYY или SYYYY Год; `S`- префикс перед датой (до н.э.) с`-`.
YYY или YY или Y Последние 3, 2 или 1 цифра(ы) года.
IYYY 4-цифры года в стандарте ISO.
IYY или IY или I Последние 3, 2 или 1 цифра(ы) года в стандарте ISO.
Y,YYY Год с запятой в данной позиции.
SYEAR или YEAR Год прописью. `S`-префикс перед датой (до н.э.) с`-`.
BC или AD BC/AD - (до н.э.) / ( н.э.).
B.C. или A.D. Аналогично BC/AD.
Q Квартал (четверть) года.
- 14 -
Формат Описание
------------------- ----------------------------------------
MM Номер месяца.
RM Номер месяца римскими цифрами (I..XII; JAN=I).
MONTH Имя месяца, дополненное пробелами до девяти символов.
MON Трехбуквенная аббревиатура имени месяца (JAN,FEB,...).
WW или W Неделя года (1-52) или месяца (1-5).
IW Неделя года в стандарте ISO (1..21 или 1..53).
DDD DD или D Номер дня года (1-366), месяца (1-31) или недели (1-7).
DAY Наименование дня, дополненное пробелами до 9 символов.
DY Трехбуквенная аббревиатура наименования дня.
J День по Юлианскому календарю; количество дней от
31 декабря 4713 до н.э.
AM или PM Указатель часового пояса.
A.M. или P.M. Указатель часового пояса с периодами.
HH или HH12 Время суток, интервал 1-12.
HH24 Время суток, интервал 0-23.
MI Минуты (0-59).
SS или SSSSS Секунды (0-59) или после полуночи (0-86399).
-/.,;: Пунктуация, которая воспроизводится в результате.
"...текст..." Строка в кавычках, которая воспроизводится в результате.
8.4. Префиксы и суффиксы, используемые в форматах
Префикс и суффиксы, которые могут быть добавлены к перечисленным выше кодам:
------------------------------------------------------------------------------
FM "Fill mode" (режим наполнения). Указанный перед MONTH или DAY,
подавляет пробелы, оставляя только результат фактической длины.
FX "Format exact". Указанный в начале формата для функции TO_DATE,
проверяет соответствует ли преобразуемое значение заданному
формату. При несоответствии (например, лишние пробелы, другие
разделители и т.п.) - отвергает преобразование.
TH Порядковое число (напр.,"DDTH" для "4TH").
SP Число прописью (напр.,"DDSP" для "FOUR")
SPTH или THSP Порядковое число прописью (напр., "DDSPTH") для "FOURTH").
Наличие заглавных букв в аббревиатурах или в словах прописью определяется
наличием заглавных букв в соответствующем форматном элементе.
Например, "DAY" дает "MONDAY", "Day" дает "Monday" и "day" дает "monday".
Модель формата даты может также включать в себя знаки пунктуации, такие
как дефис, косую черту, запятые и символьные константы, заключенные в кавычки
(не в апострофы). Пунктуация и константы появляются при выводе.
Например, DDth "of" Month, YYYY дает 15th of February, 1986.
