Qual é a melhor prática para criar um campo yes/no
ie Boolean
ao converter de um access database
ou em geral?
sql-server
boolean
sqldatatypes
leora
fonte
fonte
O
BIT
tipo de dados geralmente é usado para armazenarboolean
valores (0
parafalse
,1
paratrue
).fonte
BIT
especificado no padrão SQL? Estou tendo dificuldade para encontrá-lo. O mais próximo que eu pude ver é "tipo booleano".Você pode usar o
bit
tipo de coluna.fonte
Você pode usar o
BIT
campoPara adicionar uma coluna BIT a uma tabela existente, o comando SQL seria semelhante a:
ALTER TABLE table_name ADD yes_no BIT
Se você deseja criar uma nova tabela, você poderia fazer:
CREATE TABLE table_name (yes_no BIT)
.fonte
Você pode usar o tipo de dados
bit
Valores inseridos maiores que 0 serão armazenados como '1'
Valores inseridos menores que 0 serão armazenados como '1'
Os valores inseridos como '0' serão armazenados como '0'
Isso vale para o MS SQL Server 2012 Express
fonte
0
é falso, qualquer não-0
número é verdadeiro. Também era comum que -1 fosse o valor padrão para true, porque no binário assinado ele tem todos os bits definidos como 1. Atualmente, é muito comum ver 1 como o valor padrão para true (apenas o conjunto de bits menos significativo).Já existem respostas dizendo o uso do Bit. Acrescentarei mais a essas respostas.
Você deve usar bit para representar valores booleanos.
Comentários do artigo do MSDN.
Nota: É uma boa prática manter valores como 1 e 0 apenas com o tipo de dados
NOT NULL
As Bit têm valores 1, 0 e NULL. Veja a tabela da verdade para isso. Portanto, planeje os valores adequadamente. Pode adicionar confusão ao permitir um valor NULL para o tipo de dados de bit.
fonte
Exemplo de uso ao criar uma tabela:
fonte
Você pode usar o
BIT
campoPara criar uma nova tabela:
Adicionando coluna na tabela existente:
Para inserir registro:
fonte
bit
será o mais simples e também ocupa menos espaço. Não é muito detalhado em comparação com "S / N", mas estou bem com isso.fonte
bit
é a opção mais adequada. Caso contrário, uma vez eu useiint
para esse fim.1
paratrue
e0
parafalse
.fonte
que fornecerá
True
ouFalse
opções de valor. caso deseje usar Only1
ou0
então você pode usar este método:Mas vou aconselhar estritamente
BIT
como a melhor opção. Espero plenamente que seja ajudar alguém.fonte