Конспект лекций по дисциплине «Сетевые базы данных», страница 4

2)  Символьные функции

y := ASCII(x);               возвращает числовое значение (в коде ASCII) символа x

y := chr(x);                   возвращает символ, код ASCII которого x

y := concat(x,z);           дописывает z в конец x и затем возвращает полученную строку

y := length(x);               возвращает количество символов в строке x

y := lower(x);                конвертирует буквенные символы строки x в символы нижнего регистра

y := nvl(x, значение);    возвращает значение, если x имеет значение null, иначе возвращает x

y := power(x,z);                        y = xz

y := sqrt(x);                  y = √x

y := trim([удаляемая_строка FROM] x);           удаляет символы с правого и левого концов строки x. Можно задать дополнительный параметр удаляемая_строка, позволяющий указать удаляемые символы; если он не задан, удаляются пробелы

3)  Функции для работы с датой-временем

y := add_months(x, z);   возвращает результат добавления z месяце к значению x. Если z отрицательно, из значения x вычитается z месяцев.

y := last_day(x);            возвращает значение последнего дня месяца, содержащегося в x.

y := months_between(x, z);       возвращает число месяце между x и z. Если x появляется в календаре раньше, чем z, возвращаемое значение будет отрицательным; иначе – положительным.

y := round(x [, единицы]);         округляет x. По умолчанию x округляется до начала ближайших суток. Можно предоставить необязательный параметр для единиц округления. Например, если значение строки единицы равно YYYY, x будет округлен до первого дня ближайшего года.

y := sysdate;                 возвращает текущие значения даты и времени, установленные операционной системой машины, на которой размещена база данных.

y := trunc(x [, единицы]);          усекает x. По умолчанию x усекается до начала ближайших суток. Можно предоставить необязательный параметр для единиц усечения. Например, если значение строки единицы равно MM, x будет усечен до первого дня ближайшего месяца.

4)  Функции конвертирования

y := to_char(p [, формат]);       конвертирует число p в строку VARCHAR2. Можно предоставить дополнительный параметр формат, который определяет формат x

y := to_char(d [, формат]);       конвертирует d типа DATE в строку VARCHAR2.

y := to_date(x [, формат]);       конвертирует x в тип данных DATE

1.5. Процедуры вывода

В системе управления базами данных Oracle имеется пакет программ ввода-вывода DBMS_OUTPUT (см. п. 10), который поставляется вместе с дистрибутивом системы. Пакет содержит несколько процедур обеспечивающих вывод данных, что удобно при тестировании и отладки программ PL/SQL. В данном курсе для нас будет полезна процедура вывода строки PUT_LINE. Процедура PUT_LINE имеет ограничение на длину выводимой строки – не более 255 символов. Ниже приведен пример вывода на экран значения системной даты.

DECLARE

tmp  varchar2(20);

BEGIN

tmp := to_char(sysdate,’dd.mm.yyyy’);

DBMS_OUTPUT.PUT_LINE(‘Сегодня ’||tmp||’ г.‘);

END;

/

Результат выполнения программы:    Сегодня 01.09.2009 г.

1.6. Таблицы учебной база данных

Изучение материала данного курса основано на использовании учебной базы данных, которая состоит из трех таблиц:

·  SAL – таблица, содержащая данные о продавцах

·  CUST – таблица, содержащая данные о покупателях

·  ORD – таблица, содержащая данные о заказах (покупках), сделанных покупателями и оформленных продавцами.

Таблицы имеют следующие структуры.

Таблица продавцов SAL

Наименование поля

Тип данных поля

Назначение

SNUM

NUMBER(4)

Уникальный номер продавца

SNAME

VARCHAR2(10)

Имя продавца

CITY

VARCHAR2(10)

Город, где работает продавец

COMM

NUMBER(7,2)

Комиссионные, которые получает продавец