¿Cuál es la mejor práctica para crear un campo yes/noie Booleancuando se convierte de access databaseo en general?
sql-server
boolean
sqldatatypes
leora
fuente
fuente

El
BITtipo de datos generalmente se usa para almacenarbooleanvalores (0parafalse,1paratrue).fuente
BITespecifica en el estándar SQL? Me está costando encontrarlo. Lo más cercano que pude ver es "tipo booleano".Puedes usar el
bittipo de columna.fuente
Puedes usar el
BITcampo.Para agregar una columna BIT a una tabla existente, el comando SQL se vería así:
ALTER TABLE table_name ADD yes_no BITSi desea crear una nueva tabla, se podría hacer:
CREATE TABLE table_name (yes_no BIT).fuente
Puedes usar el tipo de datos
bitLos 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
0es falso, cualquier no0nú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 NULLComo 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
BITcampoPara crear una nueva tabla:
Agregar columna en la tabla existente:
Para insertar registro:
fuente
bitserá 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
bitEs la opción más adecuada. De lo contrario, una vez lo uséintpara ese propósito.1portruey0parafalse.fuente
que le proporcionará con
TrueoFalseopciones de valor. en caso de que quiera usar Solo1o0luego puede usar este método:Pero te aconsejaré estrictamente
BITcomo la MEJOR opción. Espero que sea de gran ayuda para alguien.fuente