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) |
Комиссионные, которые получает продавец |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.