Читаем MySQL 5.0. Библиотека программиста полностью

выводит те строки таблицы Customers, для которых условие name LIKE \'ООО% OR rating>10 0 0 не выполнено и которые, следовательно, не были выведены запросом из пункта «Оператор х OR у». Таким образом, запрос возвращает результат, представленный в табл. 3.1.

Завершая изучение операторов и функций проверки условий, обсудим еще несколько функций, используемых для сравнения различных величин. Эти функции отличаются от операторов, рассмотренных в подразделе «Операторы сравнения», тем, что возвращаемое ими значение не обязательно логическое.

Операторы и функции, основанные на сравнении

В этом подразделе я кратко расскажу об операторах и функциях, которые, как и операторы из подраздела «Операторы сравнения», сравнивают две или несколько величин, однако возвращают не логическое значение (TRUE, FALSE или NULL), а один из своих аргументов (или порядковый номер аргумента). Рассмотрим эти функции.

• LEAST( a 1, a 2,…, an )

Данная функция возвращает наименьший из своих аргументов (либо NULL, если один из аргументов равен NULL). Например, выражение LEAST(000 "Кускус",\'Петров\',\'Крылов\') возвращает значение «Крылов». Отметим, что в функции LEAST() можно указать только фиксированное количество аргументов. Например, невозможно получить первое в алфавитном порядке имя клиента с помощью запроса SELECT LEAST(name) FROM Customers; вместо этого необходимо использовать групповую функцию MIN() (о ней вы узнаете в разделе «Групповые функции»).

• GREATEST( a 1, a 2,…, an ).

Данная функция возвращает наибольший из своих аргументов (либо NULL, если по крайней мере один из аргументов равен NULL). Например, выражение GREATEST (ООО «Кускус», Петров, Крылов) возвращает значение «Петров». Как и в функции LEAST(), в функции GREATEST() можно указать только фиксированное количество аргументов. Например, невозможно получить последнее в алфавитном порядке имя клиента с помощью запроса SELECT GREATEST(name) FROM Customers; вместо этого необходимо использовать групповую функцию MAX() (см. раздел «Групповые функции»).

• INTERVAL( a , b 1, b 2,…, bn ), где b 1 < b 2 < … < bn.

Функция INTERVAL возвращает порядковый номер наибольшего из чисел b., не превосходящих числа a:

•  bi a < bi +1 – функция возвращает номер i ;

•  a < b 1 – функция возвращает значение 0:

•  a > bn – функция возвращает значение n ;

•  a равно NULL – функция возвращает значение -1.

Все аргументы этой функции являются целыми числами (если вы укажете аргумент с другим типом данных, он будет преобразован в целочисленное значение). Чтобы функция возвращала корректный результат, необходимо, чтобы значения bi были упорядочены, то есть выполнялось условие b1 < b2 <… < bn. Например, выражение INTERVAL(1500, 1000, 2000, 3000) возвращает значение 1.

• GOALESCE ( a 1, a 2,…, an )

Данная функция возвращает первый из аргументов, который отличен от NULL (а если все аргументы равны NULL, то возвращает значение NULL). Например, выражение COALESCE(NULL,1/0,\'TeKCT\') возвращает значение «Текст», поскольку это первый аргумент, отличный от NULL (при делении на 0 результатом является NULL).

• IF(a,b,c).

Данная функция проверяет, является ли истинным логическое значение или выражение a. Если a истинно (то есть является числом, датой или временем, отличным от нулевых), то функция возвращает значение b, а если a ложно или равно NULL, функция возвращает значение c. Например, если требуется удвоить те рейтинги клиентов, которые превышают 1000, это можно сделать с помощью команды

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных