Quelle est la meilleure pratique pour créer un champ booléen oui/non lors de la conversion à partir d’une base de données d’accès ou en général?
L'équivalent est un champ de bits.
En SQL, vous utilisez 0 et 1 pour définir un champ de bits (tout comme un champ oui/non dans Access). Dans Management Studio, il s’affiche sous forme de valeur false/true (du moins dans les versions récentes).
Lors de l'accès à la base de données via ASP.NET, le champ sera présenté comme une valeur booléenne.
Le type de données BIT
est généralement utilisé pour stocker des valeurs booléennes (0 pour faux, 1 pour vrai).
Vous pouvez utiliser le type de colonne bit
.
Vous pouvez utiliser le type de données bit
Les valeurs insérées supérieures à 0 seront stockées sous la forme '1'
Les valeurs insérées inférieures à 0 seront stockées sous la forme '1'
Les valeurs insérées comme "0" seront stockées comme "0"
Cela est vrai pour MS SQL Server 2012 Express
Vous pouvez utiliser le champ BIT
.
Pour ajouter une colonne BIT à une table existante, la commande SQL ressemblerait à ceci:
ALTER TABLE table_name ADD yes_no BIT
Si vous voulez créer une nouvelle table, vous pouvez faire: CREATE TABLE table_name (yes_no BIT)
.
Exemple d'utilisation lors de la création d'une table:
[ColumnName] BIT NULL DEFAULT 0
Il existe déjà des réponses indiquant l'utilisation de Bit. Je vais ajouter plus à ces réponses.
Vous devez utiliser bit pour représenter les valeurs booléennes.
Remarques de l'article MSDN.
Le bit peut prendre une valeur de 1, 0 ou NULL.
Le moteur de base de données SQL Server optimise le stockage des colonnes de bits. S'il y a 8 colonnes de bits ou moins dans une table, les colonnes sont stockées sous la forme d'un octet. S'il y a de 9 à 16 colonnes, les colonnes sont stockées sous forme de 2 octets, etc.
Les valeurs de chaîne TRUE et FALSE peuvent être converties en valeurs de bits: TRUE est converti en 1 et FALSE en 0.
La conversion en bits favorise toute valeur non nulle en 1.
NOT NULL
As Bit ont les valeurs 1, 0 et NULL. Voir la table de vérité pour ceci. Alors planifiez les valeurs en conséquence. Cela pourrait ajouter de la confusion en autorisant une valeur NULL pour le type de données bit.
Vous pouvez utiliser le champ BIT
Pour créer une nouvelle table:
CREATE TABLE Tb_Table1
(
ID INT,
BitColumn BIT DEFAULT 1
)
Ajout de colonne dans la table existante:
ALTER TABLE Tb_Table1 ADD BitColumn BIT DEFAULT 1
Pour insérer un enregistrement:
INSERT Tb_Table1 VALUES(11,0)
bit
sera le plus simple et prend également le moins de place possible. Pas très bavard comparé à "Y/N" mais ça me va.
bit
est l'option la plus appropriée. Sinon, j’ai utilisé une fois int
à cette fin. 1
pour true
& 0
pour false
.
Dans SQL Server Management Studio, quelle que soit la version, utilisez
BIT
comme type de données.
qui vous fournira les options True
ou False
Value. si vous voulez utiliser uniquement 1
ou 0
, vous pouvez utiliser cette méthode:
CREATE TABLE SampleBit(
bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)
Mais je conseillerai strictement BIT
comme l’option MEILLEURE. J'espère que c'est aider quelqu'un.