Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткий справочник по Oracle7.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
537.6 Кб
Скачать

4. Литералы, операторы и выражения

4.1. Условные обозначения

[ ] - в эти скобки заключаются необязательные синтаксические единицы

{ } - конструкция, заключенная в эти скобки, должна рассматриваться как

одна синтаксическая единица

| - используется для разделения альтернативных синтаксических единиц

... - указывает на то, что непосредственно предшествующая синтаксическая

единица может повторяться один или несколько раз

text - '[символ | '']...'

integer - цифра[цифра]...

number - [+|-]{цифра[цифра]...[.][цифра]...

|.цифра[цифра]...}[{e|E}[+|-]цифра[цифра]...]

expr - любое выражение

Expr_list - (expr [, expr] ...)

- 6 -

4.2. Иерархия операторов

Оператор Описание

----------- ------------------------------------------------

() Подавляет обычные правила старшинства операций.

** NOT Возведение в степень и логическое отрицание.

+ - Знак, предшествующий числовому выражению.

* / Умножение и деление.

+ - Сложение и вычитание.

|| Сочленение текстовых выражений и (или) констант.

:= Присвоение значения переменной пользователя.

=, <>, <,

>, <=, >=, Операторы сравнения,

IS NULL, используемые при

LIKE, IN, построении условий

BETWEEN

AND Логическое "И"

OR Логическое "ИЛИ"

4.3. Синтаксис выражений (expr)

1-я форма: { [[schema.]{table | view | snapshot }.]

{column | pseudo-column | ROWLABEL}

| 'text' | number | sequence.{CURRVAL | NEXTVAL} | NULL }

2-я форма: function_name [( [DISTINCT | ALL] expr [, expr] ... )]

3-я форма: { (expr) | +expr | -expr | PRIOR expr | expr * expr | expr / expr

| expr + expr | expr - expr | expr || expr }

Decode_expr: DECODE( expr, search, result [, search, result] ... [, default] )

Если значение expr = search, то возвращает значение result, иначе

значение default или NULL (при отсутствии default).

4.4. Синтаксис условий (condition)

1-я форма: { expr {= | <> | > | < | >= | <=}

{expr | (subquery)} | expr_list {= | <>} (subquery) }

2-я форма: { expr {= | <> | > | < | >= | <=}

{ANY | SOME | ALL} {expr_list | (subquery)} | expr_list {= | <>}

{ANY | SOME | ALL} ( { expr_list [, expr_list] ... | subquery} ) }

3-я форма: { expr [NOT] IN {expr_list | (subquery)}

| expr_list [NOT] IN ( { expr_list [, expr_list]... | subquery} ) }

4-я форма: expr [NOT] BETWEEN expr AND expr

5-я форма: expr IS [NOT] NULL

6-я форма: EXISTS (subquery)

7-я форма: char1 [NOT] LIKE char2 [ESCAPE 'c']

8-я форма: { ( условие )

| NOT условие

| условие AND условие

| условие OR условие }

- 7 -

4.5. Логические операторы

NOT Реверсирование результата логического выражения (условия).

NOT | true false null

------|-------------------

| false true null

AND Логическая операция "И" соединяющая два или несколько условий

(логических выражений). В зависимости от истинности (true) или

ложности (false) этих условий результат определяется по правилам:

AND | true false null

------|--------------------

true | true false null

false | false false false

null | null false null

OR Логическая операция "ИЛИ" соединяющая два или несколько условий

(логических выражений). В зависимости от истинности (true) или

ложности (false) этих условий результат определяется по правилам:

OR | true false null

------|-------------------

true | true true true

false | true false null

null | true null null