В данном разделе описываются функции и операторы для анализа и обработки битовых строк, то есть значений типов
bit и bit varying. (Хотя в данных таблицах упоминается только
тип bit , значения типа bit varying могут использоваться как взаимозаменяемые.)
Для битовых строк поддерживаются обычные операторы сравнения, представленные в
Таблица 2.6.1, а также
операторы, приведенные в Таблица 2.6.14.
Таблица 2.6.14. Операторы битовых строк
Оператор Описание Примеры |
|---|
Конкатенация
|
Побитовое И (AND) (аргументы должны иметь одинаковую длину)
|
Побитовое ИЛИ (OR) (аргументы должны иметь одинаковую длину)
|
Побитовое исключающее ИЛИ (XOR) (аргументы должны иметь одинаковую длину)
|
Побитовое НЕ (NOT)
|
Побитовый сдвиг влево (длина строки при этом сохраняется)
|
Побитовый сдвиг вправо (длина строки при этом сохраняется)
|
Для битовых строк также доступны некоторые функции, применяемые к двоичным строкам, как показано в Таблица 2.6.15.
Таблица 2.6.15. Функции битовых строк
Кроме того, целочисленные значения можно приводить к типу и из типа
bit.
Приведение целого числа к типу bit(n) копирует крайние правые
n биты. При приведении целого числа к битовой строке, ширина которой больше разрядности самого числа, слева выполняется знаковое расширение. Примеры:
44::bit(10) 0000101100 44::bit(3) 100 cast(-44 as bit(12)) 111111010100 '1110'::bit(4)::integer 14
Обратите внимание, что приведение просто к «bit» означает приведение к типу
bit(1), и таким образом будет возвращен только младший значащий бит целого числа.