podmφnka ::= booleovsk²_faktor { OR booleovsk²_faktor }à booleovsk²_faktor ::= booleovsk²_term { AND booleovsk²_term }à booleovsk²_term ::= [ NOT ] predikßt predikßt ::=
v²raz relaΦnφ_operßtor v²raz
| predikßt_IS |
zobecn∞nΘ_porovnßnφ
| predikßt_BETWEEN | predikßt_IN | predikßt_EXISTS | predikßt_UNIQUE | predikßt_LIKE | predikßt_IS_NULL | predikßt Fulltext | ( podmφnka )
relaΦnφ_operßtor
::= > | < | <= | >= | = | <> predikßt_IS ::= v²raz IS [NOT] { TRUE | FALSE | UNKNOWN }
Popis:
Podmφnka se pou₧φvß p°i vyhodnocovßnφ podmφn∞nΘho v²razu CASE, klauzule WHERE a klauzule HAVING specifikace dotazu, klauzule CHECK v nßvrhu tabulky nebo specifikace JOINu, v p°φkazech UPDATE a DELETE, v definici triggeru nebo p°i vyhodnocenφ °φdicφch p°φkaz∙ IF, CASE, WHILE a REPEAT.
Priorita operßtor∙ v podmφnkßch je nßsledujφcφ:
1. *,/,DIV a MOD pro nßsobenφ, d∞lenφ, celoΦφselnΘ d∞lenφ a zbytek po d∞lenφ;
2. unßrnφ - , binßrnφ + a - pro sΦφtßnφ a odeΦφtßnφ;
3. relaΦnφ operßtory <,>,=,>=,<=,<>,.=,.=.,~ a predikßty (BETWEEN, LIKE apod.);
4. negace NOT;
5. spojka AND;
5. spojka OR.
Podmφnka m∙₧e nab²vat t°φ hodnot: TRUE, FALSE nebo UNKNOWN. Hodnota UNKNOWN je ekvivalentnφ hodnot∞ NULL.
Operßtor OR provßdφ disjunkci pravdivostnφch hodnot. Jeho v²sledek je TRUE, pokud alespo≥ jeden operand mß hodnotu TRUE, v²sledek je FALSE, pokud oba operandy jsou FALSE, jinak je v²sledek UNKNOWN.
Operßtor AND provßdφ konjunkci pravdivostnφch hodnot. Jeho v²sledek je TRUE, pokud oba operandy majφ hodnotu TRUE, v²sledek je FALSE, pokud alespo≥ jeden operand je FALSE, jinak je v²sledek UNKNOWN.
Operßtor NOT provßdφ negaci pravdivostnφch hodnot, negace TRUE je FALSE, negace FALSE je TRUE, negace UNKNOWN je UNKNOWN.
Tabulka pravdivostnφch hodnot v t°φhodnotovΘ logice
A | b | a AND b | a OR b | NOT a |
TRUE | TRUE | TRUE | TRUE | FALSE |
TRUE | FALSE | FALSE | TRUE | FALSE |
TRUE | UNKNOWN | UNKNOWN | TRUE | FALSE |
FALSE | TRUE | FALSE | TRUE | TRUE |
FALSE | FALSE | FALSE | FALSE | TRUE |
FALSE | UNKNOWN | FALSE | UNKNOWN | TRUE |
UNKNOWN | TRUE | UNKNOWN | TRUE | UNKNOWN |
UNKNOWN | FALSE | FALSE | UNKNOWN | UNKNOWN |
UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN |
Porovnßnφ hodnot dvou v²raz∙ pomocφ relaΦnφch operßtor∙ p°edpoklßdß, ₧e oba v²razy jsou ΦφselnΘho typu, typu znakov² °et∞zec, typu binßrnφ °et∞zec nebo typu DATE, TIME nebo TIMESTAMP.
Predikßt IS p°edpoklßdß, ₧e v n∞m obsa₧en² v²raz je booleovskΘho typu, a porovnßvß jej s booleovskou konstantou. WinBase602 umo₧≥uje pou₧φt v tΘto funkci i relaΦnφ operßtory.
Popis dalÜφch typ∙ predikßt∙ je na nßsledujφcφch strßnkßch:
Odchylky od Intermediate level sm∞rem k Full level nebo k SQL 3
Odchylky od Intermediate level sm∞rem k Entry level