Программирование >>  Создание клиентов mysql 

1 ... 35 36 37 [ 38 ] 39 40 41 ... 201


Операторы

Разрешается присваивать переменной значение прямо в инструкции SELECT. Для этого предназначен оператор =. Правым операндом может быть произвольное выражение, допустимое в списке возвращаемтх столбцов. Эта особенность программы демонстрируется в листинге 10.5. Обратите внимание на то, что строка выражения стала надписью столбца в таблице результатов.

mysql> SELECT @Special Iteiti

-> FROM item

-> WHERE Name = Brush + +

I @Special Item := ID + +

I 3 I

1 row

in set (

mysql>

SELECT :

->

FROM

->

WHERE

H +

I ID

Name

+ +

I 3 I

Brush

+ +

1 row

in set

В показанном примере условию отбора соответствует одна строка. Если же запрос извлекает несколько строк, то столько же раз будет меняться значение переменной. Операция присваивания в предложении SELECT выполняется тогда, когда строка форматируется и посылается клиенту. Следовательно, в предложении WHERE будет использовано то значение переменной, которое записалось в нее последним.

Операторы

Операторы - это знаки записи математических и логических операций. Большинство операторов бинарно: один операнд записывается слева и один - справа. Существуют также унарные операторы, принимающие только один операнд.

За исключением оператора присваивания, все остальные операторы делятся на четыре категории: арифметические, реляционные (операторы сравнения), логические и побитовые. Арифметические операторы выполняют простейшие математические операции. Реляционные операторы предназначены для сравнения значений. С помощью логических операторов строятся булевы выражения. Побитовые ры работают с битовым представлением чисел.

Если оба операнда принадлежат к одному и тому же типу, тип результата определяется тривиально. Строки, участвующие в арифметических выражениях, преобразуются в числа. Несовпадение типов в операциях сравнения решается следуюш,им об-




разом: строки преобразуются ела, целы ла- в числа с плавающей запятой, а числа - в значения даты/времени.

Если оба операнда равн ШЬЬ, результатом выражения тоже будет NULL. В случае булевых выражений значению NULL соответствует значение SE. Исключение составляет оператор

Арифметические операторы

К арифметическим операциям относятся сложение, вычитание, умножение и деление. Добавление к числу знака минус называется отрицанием. Операция деления по модулю возвращает остаток от целочисленного деления дву ел. Существующие арифметические операторы перечислены в табл. 10.3.

Оператор

Операция

Сложение

Вычитание и унарное отрицание

Умножение

Деление

Деление по модулю

Арифметическими операндами могут быть только числа. В некотортх языках программирования поддерживается идея сложения строк, но в MySQL строки, входящие в состав арифметических выражений, будут преобразованы в числа. Если корректное преобразование невозможно, значением строки будет число 0. В случае необходимости целые числа будут преобразованы в числа с плавающей запятой, как показано в листинге 10.6.


Оператор возвращает число с плавающей точность которого на две

цифры выше, чем количество цифр после запятой у самого точного из операндов. Например, результат операции 10/3 будет равен 3.33, а операции 10/3.0- 3.333.

Оператор унарного отрицания меняет знак литерала или переменной. С мощью оператора можно указать на то, что значение является положительным.



Операторы

Операторы сравнения

Реляционные операторы, иначе называемые операторами сравнения (табл. 10.4), возвращают булевы значения TRUE (истина) или FALSE (ложь). Если булево значение стоит в списке возвращаемых столбцов или в правой части оператора присваивания, то оно будет преобразовано в 1 (TRUE) или О (FALSE).

Оператор

<

>

<= >=

BETWEEN минимум AND максимум

NOT U . .)

<=> LIKE

REGEXP, RLIKE NOT REGEXP, NOT RLIKE !=, <> IS NULL IS NOT NULL

Проверка

Меньше

Больше

Меньше или равно (не больше) Больше или равно (не меньше) Принадлежность диапазону Членство в множестве Отсутствие членства в множестве Равно

Не равно (допускается сравнение со значением NULL)

Соответствие шаблону

Несоответствие шаблону

Соответствие регулярному выражению

Несоответствие регулярному выражению

Не равно

Равно NULL

He равно NULL

Строка, сравниваемая с числом, сама будет преобразована в число. Если корректное преобразование невозможно, вместо строки будет подставлено значение 0. Целые числа, сравниваемые с числами с плавающей запятой, будут приведены к соответствующему типу.

Если в операции сравнения участвует значение программа MySQL

попытается привести к этому типу второй операнд. Такое преобразование возможно для строки или числа, состоящих из восьми цифр. Первые четыре цифры считаются номером года, следующие две - номером месяца, а последние две - номером дня. В случае, когда операнд представлен в другом формате, произойдет противоположное преобразование: значения даты/времени - в строку или число. Столбцы типов TIME и DATE всегда сравниваются в строковом виде.

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



1 ... 35 36 37 [ 38 ] 39 40 41 ... 201

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