Базы данных. Вводный курс


Выражения с переключателем - часть 2


Выражение с простым переключателем

CASE CO WHEN WO1 THEN result1 WHEN WO2 THEN result2 . . . . . . . WHEN WOn THEN resultn ELSE result END

эквивалентно выражению с поисковым переключателем

CASE WHEN CO = WO1 THEN result1 WHEN CO = WO2 THEN result2 . . . . . . . WHEN CO = WOn THEN resultn ELSE result END

Выражение NULLIF (V1, V2) эквивалентно следующему выражению с переключателем:

CASE WHEN V1 = V2 THEN NULL ELSE V1 END.

Выражение COALESCE (V1, V2) эквивалентно следующему выражению с переключателем:

CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END.

Выражение COALESCE (V1, V2, . . . Vn) для n

3 эквивалентно следующему выражению с переключателем:

CASE WHEN V1 IS NOT NULL THEN V1 ELSE COALESCE (V2,... n) END.

  В стандарте языка SQL в качестве общего термина для обозначения таких выражений используется термин value expression

. Однако в менее формальных публикациях обычно применяется более понятный термин scalar expression

, для которого, вдобавок, существует адекватный русский эквивалент скалярное выражение. В этом курсе мы также предпочитаем использовать именно этот термин.

  Другие варианты появляются во встраиваемом и динамическом SQL, а также расширении языка, предназначенного для написания кода хранимых процедур, триггеров, методов определяемых пользователями типов и т.д. В любом случае беззнаковое значение известно до начала компиляции любой содержащей его конструкции языка SQL.

  Для набора типов T1, T2, …, Tn, будем называть тип T, если значения каждого из типов T1, T2, …, Tn неявно приводимы к типу T, и не существует типа T', такого, что значения типов T1, T2, …, Tn неявно приводимы к типу T', и значения типа T' неявно приводимы к типу T.




Начало  Назад  Вперед



Книжный магазин