Скалярные операторы используются для работы со скалярными значениями. Язык Transact-SQL поддерживает числовые и логические операторы, а также конкатенацию.
Существуют унарные и бинарные арифметические операторы. Унарными операторами являются знаки + и -. К бинарным арифметическим операторам относятся операторы сложения (+), вычитания (-), умножения (*), деления (/) и деления по модулю (%).
Логические операторы обозначаются двумя разными способами, в зависимости от того, применяются они к битовым строкам или к другим типам данных. Операторы NOT, AND и OR применяются со всеми типами данных (за исключением данных типа BIT).
Далее описаны побитовые (логические) операторы для обработки строк, а в примере ниже демонстрируется их использование:
- ~ – логическое отрицание – инверсия (т.е. оператор NOT);
- & – конъюнкция битовых строк (т.е. оператор AND);
- | – дизъюнкция битовых строк (т.е. оператор OR);
- ^ – исключающая дизъюнкция (т.е. оператор XOR или “Исключающее OR”).
~(10011010) = (01100101) (11001011) | (10011010) = (11011011) (11001011) & (10011010) = (10001010) (11001011) ^ (10011010) = (01010001)
Оператор конкатенации + применяется для соединения символьных или битовых строк.
Глобальные переменные
Глобальные переменные – это специальные системные переменные, которые можно использовать, как будто бы они были скалярными константами. Язык Transact-SQL поддерживает большое число глобальных переменных, именам которых предшествует префикс @@. В таблице ниже приводится список некоторых наиболее важных глобальных переменных и их краткое описание. (Полный список глобальных переменных можно найти в электронной документации по T-SQL.)
| Переменная | Описание |
|---|---|
| @@CONNECTIONS | Возвращает число попыток входа со времени запуска системы. |
| @@CPU_BUSY | Возвращает общее время занятости центрального процессора (в миллисекундах), прошедшее с момента старта системы. |
| @@ERROR | Возвращает информацию о возвращенном значении последней исполненной инструкции Transact-SQL. |
| @@IDENTITY | Возвращает последнее значение, добавленное в столбец, имеющий свойство IDENTITY. |
| @@LANGID | Возвращает идентификатор языка, используемого в настоящий момент базой данных. |
| @@LANGUAGE | Возвращает названия языка, используемого в настоящий момент базой данных. |
| @@MAX_CONNECTIONS | Возвращает максимальное число фактических соединений с системой. |
| @@PROCID | Возвращает идентификатор хранимой процедуры, исполняемой в настоящий момент. |
| @@ROWCOUNT | Возвращает количество строк таблицы, которые были затронуты последней инструкцией Transact-SQL, исполненной системой. |
| @@SERVERNAME | Возвращает информацию о локальном сервере базы данных. Эта информация содержит, среди прочего, имя сервера и имя экземпляра. |
| @@SPID | Возвращает идентификатор серверного процесса. |
| @@VERSION | Возвращает текущую версию программного обеспечения системы баз данных. |