Обработка неопределенных значений

Неопределенным значением (NULL) называется недоступное, неприсвоенное, неизвестное или неприменимое значение. Неопределенное значение - это не ноль и не пробел. Издержки "хранения" неопределенного значения - это один байт внутренней памяти.

Неопределенные значения возможны в столбцах любых типов, если при создании таблицы они не были описаны как столбцы только с определенными значениями (NOT NULL) или столбцы, содержащие первичный ключ (PRIMARY KEY).

Если выражение содержит неопределенное значение в любом из столбцов, то и результатом вычисления выражения будет неопределенное значение. При попытке деления на ноль вы получите сообщение об ошибке, а результатом деления на неопределенное значение будет неопределенное значение.

Для преобразования неопределенного значения в фактическое используется функция NVL:

NVL (выражение 1, выражение 2)

где:

выражение 1 - исходное или вычисленное значение, которое может быть неопределенным

выражение 2 - значение, которое подставляется вместо неопределенного значения.

Преобразование NVL для различных типов:

Тип данных Пример преобразования
NUMBER NVL (числовой столбец, 9)
DATE NVL (столбец даты, '01-ЯНВ-95')
CHAR или VARCHAR2 NVL (символы|столбец, 'Недоступно')
     

Функции

В языке SQL существуют два класса функций – однострочные и групповые.

Однострочные функции принимают на вход одну строку (запроса или арифметического выражения) и выдают один результат. Этот результат, как и в случае понятия функции в любом языке программирования, связывается с ее именем. Однострочные функции могут быть разных типов: символьные; числовые; для работы с датами; функции преобразования и т.д. Аргументом однострочных функций может быть: константа, заданная пользователем; значение переменной; имя столбца таблицы; выражение.

Групповые функции принимают на входе группу строк и выдают одно значение после обработки этой группы.

Синтаксис:

имя_функции (столбец|выражение, [аргумент 1, аргумент 2, …])

Некоторые числовые функции

Функция Возвращаемое значение
ABS(n) Абсолютное значение величины n
CEIL(n) Наименьшее целое, большее или равное n
ЕХР(n) e в степени n
FLOOR(n) Наибольшее целое, меньшее или рапное n
MOD(m, n) Остаток от деления m на n
POWER(w, n) w в степени n
ROUND(n [, m ]) n, округленное до m позиций после десятичной точки. По умолчанию m равно нулю
SIGN(n) -1 (если n <0); 0 (если n =0); 1 (если n >0)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: