Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Побитовые операторы выполняют побитовые действия над двумя выражениями с любым типом данных, относящимся к категории типа данных integer.
Побитовые операторы преобразуют два целочисленных значения в двоичные биты, выполняют ANDORоперацию или NOT операцию на каждом бите, создавая результат. Затем результат преобразуется в целое число.
Например, целое число 170 преобразуется в двоичный файл 1010 1010.
Целое число 75 преобразуется в двоичный файл 0100 1011.
| Operator | Битовая математика |
|---|---|
|
AND Если биты в любой позиции являются обоими 1, результатом является 1. |
1010 1010 = 1700100 1011 = 75----------------- 0000 1010 = 10 |
|
OR Если любой бит находится в любом положении, результатом является 11. |
1010 1010 = 1700100 1011 = 75----------------- 1110 1011 = 235 |
|
NOT Изменяет битовое значение по каждой битовой позиции. |
1010 1010 = 170----------------- 0101 0101 = 85 |
В следующих статьях содержатся дополнительные сведения о побитовых операторах, доступных в ядро СУБД:
- & (побитовое И)
- &= (присваивание побитового И)
- | (побитовое ИЛИ)
- |= (присваивание побитового ИЛИ)
- ^ (побитовое исключающее ИЛИ)
- ^= (присваивание побитового исключающего ИЛИ)
- ~ (побитовое НЕ)
В SQL Server 2022 (16.x) появились следующие битовые операторы:
Операнды для битовых операторов могут быть одним из типов данных целочисленных или двоичных строковых типов данных (за исключением типа данных изображения ), за исключением того, что оба операнда не могут быть одним из типов данных категории типов двоичных строк данных. Следующая таблица показывает поддерживаемые типы данных операндов.
| Левый операнд | Правый операнд |
|---|---|
| binary | int, smallint или tinyint |
| bit | int, smallint, tinyint или bit |
| bigint | bigint, int, smallint, tinyint, binary или varbinary |
| int | int, smallint, tinyint, binary или varbinary |
| smallint | int, smallint, tinyint, binary или varbinary |
| tinyint | int, smallint, tinyint, binary или varbinary |
| varbinary | int, smallint или tinyint |