Программирование >>  Программный интерфейс приложений 

1 ... 187 188 189 [ 190 ] 191 192 193 ... 264


ми. Сравнение оператора between выполняется в соответствии с типом выражения ехрг.

Если ехрг является строкой, операнды сравниваются лексикофа-фически как строки. Регистр символов учитывается в зависимости от того, является или не является ехрг двоичной сфокой.

Если ехрг является целым значением, операнды сравниваются как целые числа.

Если ни одно из перечисленных выше правил не выполняется, операнды сравниваются как числовые значения с плаваюшей точкой.

def between abc and ghi <l

def between abc and def 13.3 between 10 and 20 =*1

13.3 between 10 and 13 0

2 between 2 and 2 =*1 b between a and a 0 binary b between a and a =*1 Оператор between впервые появился в MySQL 3.2L2.

)f ехрг in {valuel, value2, . . .); expr not in {value}, value2, . . .). Оператор in равен \, если выражение ехрг является одним из значений представленного в скобках списка. В противном случае этот оператор равен 0. Оператор not in работает с точностью до наоборот. В этой связи аналогичны следуюшие выражения-

ехрг not in [valuel, valuel, . . .)

not {expr in {valuel, value2, . . .))

Если все значения списка являются константами, MySQL упорядочивает их и выполняет проверку in с помошью очень быстрого двоичного поиска.

3 in (1,2,3,4,5) 1 d in ( а , b , с , d , е ) Ol f in ( a , b , с , d , e ) ==>0 3 not in (1,2,3,4,5) 0 d not in ( a , b , c , d , e ) ==>0 f not in ( a , b , c , d , e ) 1 Оператор in впервые появился в MySQL 3.2L0.

expr is null; expr is not null. Оператор is null равен I, если результатом выражения expr является значение null. В противном случае этот оператор равен 0. Оператор is not null ра-



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

ехрг IS NOT NULL

NOT {ехрг IS NULL)

Операторы IS NULL и IS NOT NULL следует использовать для определения, равно ли выражение ехрг значению NULL. Для по-

тобипй цели нельзя использовать формальные операторы сравнения и ! = .

NULL IS NULL =>1

О IS NULL =>0

NULL IS NOT NULL c>0

0 IS NOT NULL 1

NOT (0 IS NULL) =>1

NOT (NULL IS NULL) =>0

NOT NULL IS NULL 1

Результат последнего примера объясняется более высоким приоритетом оператора NOT по сравнению CIS (см. раздел Операторы ).

Битовые операторы

Битовые операции выполняются над значениями типа BiGiNT (64-разрядные целые), что накладывает офаничение на максимальный диапазон значений для этих операций. Результатом битовых операций, связанных с обработкой значений NULL, является также значение NULL.

I. Соответствует побитовой операции ИЛИ (объединение). 111 =1

1 I 2 3

1 I 2 I 4 I 8 15

1 I 2 I 4 I 8 I 15 015

&. Соответствует побитовой операции И (пересечение) . 1 & 1 =1

1 & 2 =>0

7 & 5 =5

. Сдвигает левый крайний операнд влево на число позиций битов, указываемых правым операндом. Сдвиг на отрицательное значение приводит к возврату нулевого значения.

1 2 =>4

2 2



1 62 =>4611686018427387904

1 63 =>-9223372036854775808

1 64 0

Два последних примера наглядно иллюстрируют офаничения 64-разрядных вычислений.

Оператор << впервые появился в MySQL 3.22.2.

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

16 3 2

16 4 1

16 5 -О

Оператор впервые появился в MySQL 3.22.2.

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

Логические операторы (или булевы операторы, названные в честь математика Джорджа Буля, который формализовал их использование) проверяют истинность или ложность выражений. Все логические операторы возврашают значение 1 в случае истинности выражений или значение О, если выражение ложно. Логические операторы интерпретируют ненулевые операнды как истину и нулевые - как ложь. Обработка значения null определяется в описании операторов.

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

not или !. Логическое отрицание; равен 1, если следующий операнд ложный или О, если операнд истинен. Исключение составляет операнд not null, результатом которого будет значе-

ние null.

not 0

l

not 1

0

not null

null

not 3

0

not not 1

not 1

not 0

not

not abc



1 ... 187 188 189 [ 190 ] 191 192 193 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика