Buscar

Como representar dados booleanos no SQL Server com BIT - 4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Representar dados booleanos no SQL Server com BIT
Não há um tipo de dados boolean específico no SQL Server. Porém, podemos usar o tipo de dados inteiros BIT para representar dados booleanos quando necessário.
Um campo que utilize o tipo BIT pode armazenar os valores 0, 1 e NULL. O valor 0 pode representar o valor lógico FALSE, enquanto o valor 1 pode representar o valor lógico TRUE. Na prática, qualquer valor numérico atribuído a um campo BIT que não seja 0 será avaliado como 1 (ou seja, TRUE).
Assim, temos os seguintes valores possíveis para um campo BIT:
· 0 = FALSE
· 1 = TRUE
· NULL
Recomenda-se que, ao usarmos o tipo BIT para representar valores lógicos, o campo seja declarado como NOT NULL, para evitar a existência de um estado indefinido para o campo em questão (“lógica de três valores”).
Este tipo de dado é muito empregado para armazenar valores do tipo sim / não, como por exemplo o status de envio de um produto, disponibilidade de um item e outras informações que sejam representadas por valores binários, ocupando muito pouco espaço de armazenamento no banco de dados.
Porém, note que o tipo BIT não é realmente equivalente a um tipo Boolean.  Ele se comporta como um tipo integer, porém com o intervalo de valores possíveis restrito a 0 e 1 (e NULL, se não for usada uma restrição NOT NULL ao criar o campo). Caso um valor maior que 1 seja atribuído a um campo BIT, ele será armazenado exatamente com o valor 1, pois qualquer valor diferente de zero será interpretado como um.
Note também que, ao usarmos o tipo BIT em uma coluna, não é possível usar essa coluna em uma expressão que contenha operadores booleanos, como AND e OR.
Exemplo
Vamos criar uma tabela com um campo de bit (booleano) para armazenar a situação de uma pessoa – se ela está aposentada ou não:
CREATE TABLE StatusAP (
 Cod INT PRIMARY KEY IDENTITY,
 Nome VARCHAR(40),
 Aposentado BIT NOT NULL
);
Inserimos alguns dados na tabela para os testes:
INSERT INTO StatusAP VALUES
('João', 1),
('Marta', 0),
('Renan', 0),
('Fábio', 0),
('Ana', 0),
('Amélia', 1);
E então fazemos nossa primeira consulta para saber quais usuários estão aposentados:
SELECT Nome
FROM StatusAP
WHERE Aposentado = 1;
Resultado:
Também é possível inserir dados em um campo BIT usando as palavras-chave TRUE e FALSE, que são interpretadas respectivamente como os bits 1 e 0 pelo SQL Server. Veja o exemplo:
INSERT INTO StatusAP VALUES
('Renata', 'TRUE'),
('Monica', 'FALSE');
Verificando:
SELECT * FROM StatusAP;
Resultado: