Функция
Задает значение.
Формат
<выражение значения> : : = | ||||||
<терм> | ||||||
| <выражение значения> + <терм> | ||||||
| <выражение значения> - <терм> | ||||||
<терм> : : = | ||||||
<коэффициент> | ||||||
| <терм> * <коэффициент> | ||||||
| <терм> / <коэффициент> | ||||||
<коэффициент> : : = | ||||||
[+ | - ] <первичное> | ||||||
<первичное> : : = | ||||||
<спецификация значения> | ||||||
| <спецификация столбца> | ||||||
| <спецификация функции набора> | ||||||
| (<выражение значения>) |
Правила синтаксиса
1) Если <выражение значения> включает в себя <функцию набора различимых объектов>, то оно не должно включать каких-либо бинарных операций.
2) Первый <символ> <лексемы>, следующей за унарной операцией, не должен быть знаком "плюс" или "минус".
3) Если <первичное> относится к строковому типу данных, то <выражение значения> не должно включать в себя никаких операций. Результат будет относиться к строковому типу данных.
4) Если оба операнда относятся к точному числовому типу данных, то результат будет относиться к точному числовому типу, точность и масштаб которого определяются следующим образом:
a) обозначим масштаб первого и второго операндов как и соответственно;
b) точность результата операций сложения и вычитания определяется разработчиком реализации, а масштаб определяется как max ;
c) точность результата операции умножения определяется разработчиком реализации, а масштаб определяется как ;
d) точность и дробная часть результата операции деления определяется разработчиком реализации.
5) Если хотя бы один из операндов, участвующих в операции, относится к приближенному числовому типу данных, то результат будет относиться к приближенному числовому типу. Точность результата определяется разработчиком реализации.
Общие правила
1) Если значение любого из <первичных> является неопределенным, то результат <выражения значения> будет неопределенным.
2) Если операции не заданы, то результатом <выражения значения> будет значение заданного <первичного>.
3) Если <выражение значения> применяется к строке таблицы, то указание столбца означает указание значения элемента данного столбца в данной строке.
4) Унарные арифметические операции + и - представляют собой унарные плюс и минус соответственно. Унарный плюс не изменяет того операнда, к которому он относится. Унарный минус рассматривается как знак операнда.
5) Бинарные арифметические операции +, -, * и / означают, соответственно, сложение, вычитание, умножение и деление. Делитель не должен быть нулем.
6) Если результат арифметической операции относится к точному числовому типу данных, то возможны следующие варианты;
a) если данная операция не является делением, то математический результат операции может быть представлен точным числом, где точность и дробная часть обусловлены типом данных результата;
b) если данная операция является делением, то математический результат операции представляется приближенным числом, точность и дробная часть которого обусловлены типом данных результата, при этом потеря хотя бы одного старшего значащего разряда является недопустимой.
7) Первыми вычисляются выражения, заключенные в скобки, а если скобки отсутствуют, то первыми выполняются вычисления, соответствующие унарным операциям, затем умножение и деление, а затем сложение и вычитание, операции одной и той же очередности выполняются слева направо.