Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Выражения. Выражения SQL сервер представляют собой комбинацию идентификаторов, функций, логических и арифметических операций



Выражения SQL сервер представляют собой комбинацию идентификаторов, функций, логических и арифметических операций, констант и других объектов.

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

Операнды SQL сервер делится на следующие типы:

1) Константы – постоянные величины, значения которых не могут быть изменены.

2) Функции – именованные программы, выполняющие обработку данных и в некотором случае возвращающие определенный результат. Функции реализуют наиболее часто выполняемые алгоритмы, что избавляет пользователей от многократного написания одного кода.

3) Имя колонки – в качестве операнда может выступать колонка таблицы. Это часто используется при обработке данных таблицы, удовлетворяющих определенному критерию. Пользователь указывает в выражении имя интересующей колонки, а сервер автоматически подставляет туда соответствующее значение. При последовательном просмотре таблицы имя колонки будет изменяться.

4) Переменная – именованная область памяти определенного объема, в которой хранятся данные. Фактически любая переменная- это последовательность из одного или несколько байт. То, как сервер будет обрабатывать последовательность, представленную значением переменной зависит от типа данных, ассоциированной с этой переменной.

5) Подзапрос – в качестве выражения можно указать подзапрос, который подготавливает соответствующий набор данных. По принципу работы это эквивалентно указанию колонки таблицы только в случае подзапроса. Данные не дано явно закачивать в таблицу. Сервер сам создает временную таблицу с необходимой структурой, копируя в нее выбранные данные, и подключает полученный набор данных в качестве выражения. Выполняемые действия задаются с помощью операторов, которые делятся на типы:

– простейшие (унарные) операторы работают только с одним операндом. Простейшие операторы могут быть использованы с любыми величинами числового типа, как с числовыми, так и с дробными.

– оператор присваивания используется для присваивания переменной определенного значения, полученного в результате вычисления выражения. В SQL-сервер единственным оператором присваивания является знак равенства (=), который также используется в операторе сравнения.

DECLARE @@ variable int

SET @@ variable=10

– арифметические операции – это бинарные операции, выполняемые с операндами, имеющими числовой тип данных. К ним относят *, /, +, -, %. Арифметические операторы возвращают значения того же типа, что и входные.

– строковые – единственные операции, которые можно непосредственно производить над операндами символьного типа - конкатенация (сложение). Для обозначения конкатенации строк используется знак «+».

– сравнение.

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

– логические операторы.

Операторы этого типа возвращают значения TRUE или FALSE и могут быть использованы в различных конструкциях, включая запросы. Логические операторы могут быть представлены в виде нескольких опера­торов сравнения и являются своего рода надстройкой над ними.

В Transact SQL есть следующие операторы:

ALL –выполняет сравнение для набора данных. Если условие выполнено для всего набора данных, возвращается значение TRUE.

AND – оперирует с двумя булевыми выражениями. Только если оба выражения истинны (TRUE), возвратится значение TRUE.

ANY – выполняет сравнение для набора данных. Если условие выполнено, хотя бы для одного элемента из набора данных, возвращается значение TRUE.

BETWEEN – проверяет, лежит ли значение в указанном диапазоне.

EXIST – возвращает TRUE, если подзапрос возвращает хотя бы одну строку. Та­ким образом, этот оператор проверяет существование данных.

IN –возвращает TRUE, если значение входит в указанный список.

LIKE – проверяет значение на «похожесть» по указанному шаблону.

NOT – инвертирует значение булева типа, то есть заменяет TRUE на FALSE и наоборот.

OR –возвращает TRUE, если хотя бы один из двух операндов равен TRUE.

SOME – выполняет сравнение для набора данных. Если условие выполнено для одного элемента из набора данных, возвращается значение TRUE. Аналог ANY.





Дата публикования: 2014-11-28; Прочитано: 268 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...