Основы программирования в СУБД Oracle. SQL+PL/SQL. - страница 25

Шрифт
Интервал


Типы данных можно разбить на три категории:

– числовые типы;

– символьные типы;

– типы даты и времени.

Следует иметь в виду, что количество типов в каждой категории достаточно велико, и в этом разделе мы рассмотрим только наиболее часто используемые типы данных, которые далее будут использоваться в примерах.

При изучении каждого типа будут приведены основные встроенные функции, аргументы которых могут иметь рассматриваемый тип.

Для вывода результатов выполнения выражений с использованием рассматриваемых функций мы будем использовать оператор SELECT. Но данный оператор должен обязательно содержать предложение:


FROM {источник данных}


В качестве источника данных мы будем использовать служебную таблицу DUAL, которая доступна для всех пользователей. Таблица DUAL имеет один столбец с именем DUMMY, тип данных которого VARCHAR2 (), и содержит одну строку со значением X.


Пример 3.1. Вывод содержимого таблицы DUAL


SELECT *

FROM Dual;


Числовые типы

Числовые типы используются для работы с числовыми данными. Можно использовать следующие форматы чисел:

– целые числа;

– вещественные числа в формате с фиксированной точкой;

– вещественные числа в формате с плавающей точкой.

При определении столбцов, содержащих числовые данные, можно использовать следующие спецификации:

NUMBER (n) – целое число не более n цифр;

NUMBER (n,m) – вещественное число с фиксированной точкой,

n – максимальное число цифр в записи числа а m – число цифр справа от десятичной точки;

NUMBER – вещественное число с плавающей точкой с точностью до 38 цифр.

В таблице 3.1 приведены основные функции, которые можно использовать при обработке данных числового типа.


Таблица 3.1. Основные функции для обработки чисел



Функция ROUND


Выполняет округление до ближайшего числа с заданной точностью (результат может быть не целым). Синтаксис:


ROUND (n,m)


n – численное значение;

m – точность округления.


Значение m может быть отрицательным, позиция округления отсчитывается влево.


Пример 3.2. Примеры использования функции ROUND


SELECT ROUND (147.76), ROUND (147.76,1), ROUND (147.76, -1)

FROM Dual;



Пример 3.3. Вывести значение зарплаты, округленное до 1000


SELECT employee_id, first_name, last_name, department_id, salary, ROUND (salary, -3)

FROM Employees;



Функция TRUNC


Усекает (отбрасывает) значащие цифры справа без округления. Синтаксис: