Las cadenas de bits son cadenas de 1s y 0s. Se pueden usar para almacenar
o visualizar máscaras de bits. Hay dos tipos de bits de SQL:
bit( y n)bit
varying(, donde
n)n es un entero positivo.
Los datos de tipo bit deben coincidir exactamente con la longitud
n; es un error intentar
almacenar cadenas de bits más cortas o más largas. Los datos de tipo bit varying
son de longitud variable hasta la longitud máxima
n; las cadenas más largas serán rechazadas.
Escribir bit sin longitud es equivalente a
bit(1), mientras que bit varying sin una especificación
de longitud significa longitud ilimitada.
Si se convierte explícitamente un valor de cadena de bits a
bit(, se truncará o se
rellenará con ceros a la derecha para tener exactamente n)n bits,
sin generar un error. Del mismo modo,
si se convierte explícitamente un valor de cadena de bits a
bit varying(, se truncará
a la derecha si tiene más de n)n bits.
Consulta la Section 4.1.2.5 para obtener información sobre la sintaxis de las constantes de cadenas de bits. Se dispone de operadores lógicos de bits y funciones de manipulación de cadenas; consulta la Section 9.6.
Example 8.3. Uso de los tipos de cadenas de bits
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');ERROR: bit string length 2 does not match type bit(3)INSERT INTO test VALUES (B'10'::bit(3), B'101'); SELECT * FROM test;a | b -----+----- 101 | 00 100 | 101
Un valor de cadena de bits requiere 1 byte por cada grupo de 8 bits, más un costo adicional de 5 u 8 bytes dependiendo de la longitud de la cadena (pero los valores largos pueden comprimirse o moverse fuera de línea, como se explica en la Section 8.3 para las cadenas de caracteres).