Скалярные операторы используются для работы со скалярными значениями. Язык 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 Возвращает текущую версию программного обеспечения системы баз данных.