Como você cria um campo booleano sim/não no servidor SQL?
Qual é a melhor prática para criar um campo {[[0]} ou seja Boolean
quando se converte de um campo access database
ou em geral?
11 answers
O equivalente é um campo BIT
.
Em {[1] } você usa 0
e 1
para definir um campo de bits (tal como um campo sim/não no acesso). No Estúdio de gestão exibe como um valor falso / verdadeiro (pelo menos em versões recentes).
O BIT
Tipo de dados é geralmente utilizado para armazenar boolean
Valores (0
para false
, 1
para true
.
Pode usar o tipo de coluna bit
.
Pode usar o campo BIT
.
Para adicionar uma coluna de bits a uma tabela existente, o comando SQL pareceria com:
ALTER TABLE table_name ADD yes_no BIT
Se quiser criar uma nova tabela, pode fazer: CREATE TABLE table_name (yes_no BIT)
.
Pode usar o tipo de dadosbit
Os valores inseridos que forem superiores a 0 serão armazenados como " 1 "
Os valores inseridos que são inferiores a 0 serão armazenados como " 1 "
Os valores inseridos como " 0 "serão armazenados como" 0 "
Isto aplica-se ao MS SQL Server 2012 Express
Já existem respostas dizendo uso de Bit. Acrescentarei mais a estas respostas.
Deve usar bit para representar valores booleanos.
([2]) observações do artigo MSDN.Bit pode ter um valor de 1, 0, ou nulo.
O motor de Base de Dados SQL Server optimiza o armazenamento de colunas de bits. Se há colunas de 8 ou menos bits em uma tabela, as colunas são armazenadas como 1 byte. Se houver de 9 a 16 bit colunas, as colunas são armazenado como 2 bytes, e assim no.
Os valores de texto verdadeiro e falso podem ser convertidos para valores de bits: verdadeiro é convertido para 1 e falso é convertido para 0.
Converter para bit promove qualquer valor não zero para 1.
Nota: é boa prática manter os valores em 1 e 0 apenas com o tipo de dados NOT NULL
O Bit tem valores 1, 0 e nulo. Veja a tabela da verdade para isto. Portanto, planeie valores em conformidade. Ele pode adicionar confusão, permitindo o valor nulo para dados de bits tipo.
Utilização de amostras ao criar uma tabela:
[ColumnName] BIT NULL DEFAULT 0
Pode usar o campo BIT
Para criar uma nova tabela:
CREATE TABLE Tb_Table1
(
ID INT,
BitColumn BIT DEFAULT 1
)
Adicionar uma coluna no quadro existente:
ALTER TABLE Tb_Table1 ADD BitColumn BIT DEFAULT 1
Para inserir um registo:
INSERT Tb_Table1 VALUES(11,0)
bit
será o mais simples e também ocupa o menor espaço. Não muito verboso comparado com "Y / N", mas estou bem com isso.
bit
é a opção mais adequada. Caso contrário, usei uma vez int
para esse fim. 1
para true
& 0
para false
.
Em SQL Server Management Studio de qualquer versão, Use
BIT
como tipo de Dados
Que lhe dará as opções de Valor True
ou False
. caso pretenda utilizar apenas 1
ou 0
, pode utilizar este método:
CREATE TABLE SampleBit(
bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)
Mas vou aconselhar estritamente BIT
como a opção melhor. Espero que seja ajudar alguém.