Введение в стандарты языка баз данных SQL




Скалярные выражения - часть 3


/p>

Оговорки состоят в следующем:

  1. Если TD - интервал, и SD - тип точных чисел, то TD должен содержать единственное поле даты-времени;
  2. Если TD - тип точных чисел, и SD - интервал, то SD должен содержать единственное поле даты-времени;
  3. Если SD - тип символьных строк, и TD - тип символьных строк постоянной или переменной длины, то репертуар символов SD и TD должен быть одним и тем же.

Результатом применения оператора CAST к неопределенному значению является неопределенное значение. Для значений, отличных от неопределенных, в стандарте приводятся подробные правила выполнения преобразований, которые интуитивно ясны.

Выражение, вырабатывающее значение

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

<value expression> ::= <numeric value expression> |<string value expression> |<datetime value expression> |<interval value expression> <value expression primary> ::= <unsigned value specification> |<column reference> |<set function specification> |<scalar subquery> |<case expression> |<left paren> |<value expression> |<right paren> |<cast specification>

Пояснения: При вычислении выражения V для строки таблицы каждая ссылка на столбец этой таблицы, непосредственно содержащаяся в V, рассматривается как ссылка на значение данного столбца в данной строке. Если первичное выражение есть скалярный подзапрос (подзапрос, результатом которого является таблица, состоящая из одной строки и одного столбца), и результат подзапроса пуст, то результатом первичного выражения является неопределенное значение.




Содержание  Назад  Вперед