|
![]() | Aritmetické výrazy | ![]() | Výrazy | Výrazy nad datem a časem | ![]() |
Pokud oba znakové řetězce v operaci (spojování, porovnání) mají specifikovanou množinu znaků a třídění, pak musí být u obou řetězců stejná.
Znakové řetězce lze spojovat operátorem zřetězení ||
. Je-li alespoň jeden operand zřetězení v UNICODE, pak výsledek bude také v UNICODE. Má-li alespoň jeden znakový řetězec specifikovanou množinu znaků a třídění, pak výsledný řetězec bude mít stejnou množinu znaků a stejné třídění. Výsledný řetězec bude mít příznak ignorování velikosti písmen, pokud alespoň jeden z operandů má příznak ignorování velikosti písmen. Pokud alespoň jeden z operátorů je typu CLOB nebo pokud součet maximálních délek spojovaných řetězců přesahuje maximální možnou délku řetězce, pak výsledek je typu CLOB. Jinak maximální délka spojeného řetězce je součtem maximálních délek obou operandů.
Také binární řetězce lze spojovat operátorem zřetězení ||
. Spojení vždy probíhá po celých bajtech. Pokud alespoň jeden z operátorů je typu BLOB nebo pokud součet délek spojovaných binárních řetězců přesahuje maximální možnou délku binárního řetězce, pak výsledek je typu BLOB. Jinak délka spojeného binárního řetězce je součtem délek obou operandů.
Pro porovnání hodnot znakových nebo binárních řetězců slouží operátory >, <, =, <=, >= a <>. Při porovnávání znakových řetězců se ignoruje velikost písmen, pokud alespoň jeden z operandů má příznak ignorování velikosti písmen. Má-li alespoň jeden znakový řetězec specifikovanou množinu znaků a třídění, pak se porovnává podle tohoto třídění, jinak se porovnává podle hodnot interních kódů znaků.
Odchylky od Intermediate level směrem k Entry level
Implementací definované vlastnosti SQL ve 602SQL
Příklad:
IF res<>0 THEN
CALL Log_write('Chyba inicializace pošty č. '||Int2str(res));
ELSE
...
![]() | Aritmetické výrazy | ![]() | Výrazy | Výrazy nad datem a časem | ![]() |