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