Функция
Определяет терминальные символы языка и элементы строк.
Формат
::= | | ::= 0|1|2|3|4|5|6|7|8|9 ::= | ::= A|B|C|D|E|F|G|H|I |J|K|L|M|N|O|P|Q|R |S|T|U|V|W|X|Y|Z ::= a|d|c|d|e|f|g|h|i |j|k|l|m|n|o|p|q|r |s|t|u|v|w|x|y|z ::=См. Синтаксическое правило 1.
Синтаксические правила
() является любым символом из определенного в реализации множества символов, отличным от () и (). Если в реализации индикатор конца строки является символом, он также должен быть исключен из ().Общие правила
Нет.
5.2 ()Функция
Определяет не неопределенное значение
Формат
::= | ::= '...' ::= | =| или (), должно быть больше 0. Если () опущена, то она предполагается равной 1. Если () опущен, то предполагается равным 0. Если опущена (), то значение определяется в реализации. () для () не должен быть больше, чем () для (). CHARACTER специфицирует тип данных строк символов с длиной, специфицируемой (). NUMERIC специфицирует тип данных точных чисел с точностью и масштабом, специфицируемыми через () и (). DECIMAL специфицирует тип данных точных чисел с масштабом, специфицируемым () и определяемой в реализации точностью, равной или большей зна чения указанной (). INTEGER специфицирует тип данных точных чисел с определенной в реализации точностью и масштабом 0. SMALLINT специфицирует тип данных точных чисел с масштабом 0 и определенной в реализации точностью не большей, чем определенная в реализации точность INTEGER. FLOAT специфицирует тип данных приблизительных чисел с двоичной точностью, равной или большей значения указанной (). REAL специфицирует тип данных приблизительных чисел с определенной в реализации точностью. DOUBLE PRECISION специфицирует тип данных приблизительных чисел с определенной в реализации точностью большей, чем определенная в реализации точность для REAL.Общие правила
Нет.
5.6 () и ) ()Функция
Специфицируют одно или более значений, параметров или пе- ременных.
Формат
::= | | | USER ::= | ::= [] ::= [INDICATOR] ::= [] ::= [INDICATOR]Синтаксические правила
() специфицирует значение, которое не выбирается из таблицы. () идентифицирует параметр или параметр и параметр-индикатор. Тип данных параметра-индикатора должен быть типом точных чисел со шкалой 0. Конкретный () параметров-индикаторов определяется в реализации. () идентифицирует переменную включающего языка или переменную включающего языка и переменную-индикатор. Тип данных переменной-индикатора должен быть определенным в реализации типом данных для параметров-индикаторов. () специфицирует параметр или переменную, которым может быть присвоено значение. () должна содержаться в (). () должна со держаться во (). Тип данных USER - это символьная строка длины, определенной в реализации.Общие правила
Если () содержит () и значение параметра-индикатора отрицательно, то значение, специфицируемое () - не определенное. В противном случае значение, специфицируемое () - это значение параметра, идентифицируемого (). Если () содержит () и значение переменной-индикатора отрицательно, то значение, специфицируемое () - не определенное. В противном случае значение, специфицируемое () - это значение переменной, идентифицируемой (). Значение, специфицируемое () - это значение, представляемое этим (). Значение, специфицируемое USER, равно (), указанному как () (), содержащего (), выполнение которого вызвало вычисления () USER. ()Функция
Указание именованного столбца.
Формат
::= [.] ::= |Синтаксические правила
указывает именованный столбец. Смысл указания столбца зависит от контекста. Пусть C () в (). Тогда:Общие правила
"C" или "R.C" ссылаются на столбец C данной строки T. 5.8 ()Функция
Специфицирует значение, получаемое применением функции к аргументу.
Формат
::= COUNT(*) | | ::= { AVG | MAX | MIN | SUM | COUNT } (DISTNICT ) ::= { AVG | MAX | MIN | SUM } ([ALL] )Синтаксические правила
Аргумент COUNT(*) и источник аргумента () и () - это таблица или группа сгруппированной таблицы в соответствии со спецификациями в 5.19, " (Общие правила
Аргументом () является множество значений. Это множество получается путем удаления неопределенных значений и всех избыточных дублирующих значений из столбца R, на который ссылается (). Аргументом () является мультимножество значений. Это мультимножество получается путем удаления всех неопределенных значений из результата применения () к каждой строке R. Указание или неуказание ALL не влияет на смысл (). Пусть S обозначает аргумент () или (). Тогда:Функция
Специфицирует значение.
Формат
::= | + | - ::= | * | / ::= [+|-] ::= | | | ( )Синтаксические правила
(), включающее , не должно включать никаких двухместных операторов. Первый () (), следующей за одноместным оператором, не должен быть знаком плюс или минус. Если тип данных () является типом символьных строк, то () не должно включать никаких операторов. Типом данных результата является тип символьных строк. Если тип данных обоих операндов оператора является типом точных чисел, то тип данных результата является типом точных чисел с точностью и масштабом, определяемыми следующим образом:Общие правила
Если значение () является неопределенным значением, то результатом () является неопределенное значение. Если операторы не указаны, то результатом () является значение указанного (). Когда () применяется к строке таблицы, каждая ссылка на столбец этой таблицы является ссылкой на значение этого столбца в этой строке. Одноместные арифметические операторы + и - специфицируют одноместный плюс и одноместный минус, соответственно. Одноместный плюс не изменяет своего операнда. Одноместный минус изменяет знак своего операнда. Двухместные арифметические операторы +, -, * и / специфицируют сложение, вычитание, умножение и деление соответственно. Делитель не должен быть равен 0. Если типом результата арифметического оператора является тип целых чисел, то:Функция
Специфицирует условие, для которого может быть вычислено истиностное значение "true", "false" или "unknown".
Формат
::= | | | | | |Синтаксические правила
Нет.
Общие правила
Результат () получается его применением к данной строке таблицы. 5.11 ()Функция
Специфицирует сравнение двух значений.
Формат
::= { | } ::= = | | < | > | =Синтаксические правила
Тип данных первого () и () или второго () должны быть сравнимыми.Общие правила
Пусть x обозначает результат первого () и пусть y обозначает результат () или второго (). Мощность результата () не должна быть больше единицы. Если x или y являются неопределенными значениями или если результат () пустой, то результатом "x y" является unknown. Если x и y являются не неопределенными значениями, то результатом "x y" является true или false: "x = y" есть true тогда и только тогда, когда x и y равны. "x y" есть true тогда и только тогда, когда x и y не равны. "x < y" есть true тогда и только тогда, когда x меньше, чем y. "x > y" есть true тогда и только тогда, когда x больше, чем y. "x = y" есть true тогда и только тогда, когда x не меньше, чем y. Числа сравниваются в соответствии с их алгебраическими значениями. Сравнение двух символьных строк определяется через сравнение () с одинаковыми порядковыми позициями. Если строки не имеют одинаковую длину, то сравнение производится с рабочей копией более короткой строки, дополненной справа пробелами таким образом, чтобы она имела длину, равную длине другой строки. Две строки равны, если все () с одинаковыми порядковыми позициями совпадают. Если две строки не равны, то их отношение определяется на основе сравнения первой пары неравных () с левого конца строк. Это сравнение производится в соответствии с определенной в реализации последовательностью сопоставления. Хотя "x = y" есть unknown, если x и y являются неопределенными значениями, в контекстах GROUP BY, ORDER BY и DISTINCT неопределенное значение идентично или является дубликатом другого неопределенного значения. ()Функция
Специфицирует сравнение с интервалом.
Формат
::= [NOT] BETWEEN ANDСинтаксические правила
Типы данных всех трех () должны быть сравнимыми.Общие правила
Пусть x, y и z обозначают результаты первого, второго и третьего (), соответственно. Результат "x BETWEEN y AND z" тот же самый, что и результат "x >= y AND x