Типы битовых строк

8.10. Типы битовых строк

Битовые строки — это строки которые состоят из единиц и нулей. Они могут использоваться для хранения визуальных битовых масок. В SQL существует два битовых типа: bit(n) и bit varying(n), где n является положительным целым числом.

Тип данных bit должен точно соответствовать длине n; попытка записи более короткого или более длинного значения битовой строки приведёт к ошибке. Данные типа bit varying имеют переменную длину, максимальное значение которой n; более длинные строки будут отвергнуты. Написание bit без длины, эквивалентно bit(1), в то время как bit varying без указания длины означает неограниченную длину.

Note: Если производится явное приведение значения битовой строки к типу bit(n), то это значение будет или усечено, или дополнено справа нулями до точной длины в n без генерации ошибки. Похожим образом, если производится явное приведение значения битовой строки к типу bit varying(n), то это значение будет усечено справа, если оно длиной больше чем n бит.

Информацию о синтаксисе битово-строчных констант смотрите в Section 4.1.2.5. Доступны битово-логические операторы и функции манипуляции со строками; см. Section 9.6.

Example 8-3. Использование типов битовых строк

CREATE TABLE test (a BIT(3), b BIT VARYING(5));
INSERT INTO test VALUES (B'101', B'00');
INSERT INTO test VALUES (B'10', B'101');
ОШИБКА:  длина 2 битовой строки не совпадает с типом bit(3)
INSERT INTO test VALUES (B'10'::bit(3), B'101');
SELECT * FROM test;
  a  |  b
-----+-----
 101 | 00
 100 | 101

Значение битовой строки требует 1 байт для каждой группы из 8 битов плюс 5 или 8 байт дополнительно, в зависимости от длины данной строки (но длинные значения могут быть сжаты или перемещены во внешнее место хранения, как описано в Section 8.3 для символных строк).

Back to top

(С) Виктор Вислобоков, 2008-2023