¿Cuál es la mejor práctica para crear un campo yes/no
ie Boolean
cuando se convierte de access database
o en general?
sql-server
boolean
sqldatatypes
leora
fuente
fuente
El
BIT
tipo de datos generalmente se usa para almacenarboolean
valores (0
parafalse
,1
paratrue
).fuente
BIT
especifica en el estándar SQL? Me está costando encontrarlo. Lo más cercano que pude ver es "tipo booleano".Puedes usar el
bit
tipo de columna.fuente
Puedes usar el
BIT
campo.Para agregar una columna BIT a una tabla existente, el comando SQL se vería así:
ALTER TABLE table_name ADD yes_no BIT
Si desea crear una nueva tabla, se podría hacer:
CREATE TABLE table_name (yes_no BIT)
.fuente
Puedes usar el tipo de datos
bit
Los valores insertados que sean mayores que 0 se almacenarán como '1'
Los valores insertados que sean inferiores a 0 se almacenarán como '1'
Los valores insertados como '0' se almacenarán como '0'
Esto es válido para MS SQL Server 2012 Express
fuente
0
es falso, cualquier no0
número es verdadero. También era común que -1 sea el valor predeterminado para verdadero porque en binario con signo tiene cada bit establecido en 1. Hoy en día es muy común ver 1 como el valor predeterminado para verdadero (solo el conjunto de bits menos significativo).Ya hay respuestas que dicen el uso de Bit. Agregaré más a estas respuestas.
Debe usar bit para representar valores booleanos.
Observaciones del artículo de MSDN.
Nota: es una buena práctica mantener los valores como 1 y 0 solo con el tipo de datos
NOT NULL
Como Bit tienen valores 1, 0 y NULL. Ver tabla de verdad para esto. Entonces, planifique los valores en consecuencia. Puede agregar confusión al permitir un valor NULL para el tipo de datos de bit.
fuente
Ejemplo de uso al crear una tabla:
fuente
Puedes usar el
BIT
campoPara crear una nueva tabla:
Agregar columna en la tabla existente:
Para insertar registro:
fuente
bit
será el más simple y también ocupará el menor espacio. No muy detallado en comparación con "S / N", pero estoy bien con eso.fuente
bit
Es la opción más adecuada. De lo contrario, una vez lo uséint
para ese propósito.1
portrue
y0
parafalse
.fuente
que le proporcionará con
True
oFalse
opciones de valor. en caso de que quiera usar Solo1
o0
luego puede usar este método:Pero te aconsejaré estrictamente
BIT
como la MEJOR opción. Espero que sea de gran ayuda para alguien.fuente