Числовые литералы могут быть целыми или вещественными числами (то есть содержать дробную часть). Имейте в виду, что PL/SQL считает число 154.00 вещественным числом типа NUMBER, несмотря на то, что его дробная часть равна нулю и на самом деле число является целым. Целые и вещественные числа имеют разное внутреннее представление, и преобразование из одних в другие влечет за собой некоторые дополнительные накладные расходы.
Для записи числового литерала также можно использовать экспоненциальный формат. Буква «Е» (в верхнем или нижнем регистре) в записи числа означает его умножение на 10 в соответствующей степени, например 3.05E19, 12e-5.
Начиная с версии Oracle Database 10g Release 1 вещественное число может относиться к типу Oracle NUMBER или к стандартному типу IEEE 754 с плавающей точкой. Литералы с плавающей точкой могут иметь двоичное представление с обычной (32 бита, в конце ставится буква «F») или с двойной точностью (64 бита, в конце ставится буква «D»).
В некоторых выражениях можно использовать именованные константы (табл. 1.3), определенные в стандарте IEEE (Institute of Electrical and Electronics Engineers - Институт инженеров по электротехнике и электронике).
Нечисло («Not a number» - NaN); результат деления на ноль или некорректной операции
|
BINARY.
|
.FLOAT
|
NAN
|
BINARY
|
.DOUBLE
|
.NAN
|
||
Положительная бесконечность
|
.FLOAT
|
INFINITY
|
.DOUBLE
|
.INFINITY
|
||||
Наибольшее конечное число, не превышающее порог переполнения
|
.FLOAT.
|
.MAX.
|
NORMAL
|
.DOUBLE.
|
MAX.
|
NORMAL
|
||
Наименьшее нормальное число; порог потери значимости
|
.FLOAT.
|
_MIN_
|
NORMAL
|
.DOUBLE.
|
MIN.
|
NORMAL
|
||
Наибольшее положительное число, не превышающее порог переполнения
|
.FLOAT.
|
.MAX.
|
SUBNOR-
|
.DOUBLE.
|
MAX.
|
SUBNOR-
|
||
Наименьшее число, которое может быть представлено
|
.FLOAT.
|
_MIN_
|
SUBNOR-
|
.DOUBLE.
|
MIN.
|
SUBNOR-
|
Таблица 1.3. Именованные константы для BINARY FLOAT и BINARY DOUBLE
Описание
PL/SQL предлагает два литерала для представления логических (булевых) значений: TRUE и FALSE. Эти значения не являются строковыми, их не следует заключать в кавычки. Используйте логические литералы для присваивания значений логическим переменным, например:
При проверке значения логического выражения не обязательно ссылаться на литерал. Выражение будет «говорить само за себя», как в условии следующего оператора IF:
Логическое выражение, переменная или константа также могут принимать значение NULL, что не есть ни TRUE, ни FALSE.
Программа PL/SQL состоит из последовательности объявлений и операторов, границы которых определяются не физически, а логически. Другими словами, они не заканчиваются вместе с физическим концом строки кода, а завершаются символом «точка с запятой» (;). Один оператор для удобства восприятия часто записывается на нескольких строках. Например, следующий оператор IF занимает четыре строки, причем для более явного отображения логики в записи используются отступы:
В этом операторе IF вы видите две точки с запятой. Первая точка с запятой указывает на конец отдельного исполняемого оператора внутри конструкции IF-END. Вторая точка с запятой обозначает конец самого оператора IF.
< Предыдущая | Следующая > |
---|