SQL Server bit datatyp är 1 bit numerisk datatyp. Det används också som Boolesk datatyp i SQL Server. Du kan bara lagra 0, 1 eller NULL i en bitdatatyp. När den används som Boolesk datatyp behandlas 0 som falskt och 1 som sant.
Lagringsoptimering av Bitkolumn
bitdatatypen behöver bara 1 bit Lagring. Men en byte innehåller 8 bitar.
SQL Server optimerar lagringen av bitkolumner genom att slå samman andra bitkolumner till en enda byte. Om det finns 8 eller färre bitkolumner i en tabell kombinerar SQL-servern dem till 1 byte. Om det finns från 9 upp till 16-bitars kolumner kombinerar den dem i 2 byte.
Boolesk datatyp
en boolesk är en datatyp som kan lagra antingen ett sant eller falskt värde. Det finns ingen separat Boolesk datatyp i SQL Server. Därför används bitdatatyperna istället. Värdet 1 är sant & 0 som falskt
exempel på Bitkolumn
skapa en tabell med Bit eller Boolesk kolumn
följande fråga visar hur man skapar tabell med BIT & Booleska kolumner
1
2
3
4
5
6
7
|
Skapa tabell testBit (
col1 BIT,
col2 BIT,
col3 BIT,
);
|
infoga värden i en bit / Boolesk kolumn
1
2
3
4
5
6
7
8
9
10
11
12
|
infoga i testBit
(col1, col2, col3)
värden (1,0, null)
välj * från testBit
——- ——- ——-
1 0 NULL
|
konvertera till Bit
konverteringssträngvärdena sant och falskt resulterar i 1 för sant & 0 för falskt.
konvertering av andra strängar resulterar i ett fel.
konvertering till bit främjar något icke-nollvärde till 1.
1
2
3
4
5
6
7
8
9
10
11
12
|
infoga i testBit
(col1, col2, col3)
värden (’TRUE’, ’FALSE’,100)
välj * från testBit
* * * resultat
——- ——- ——-
1 0 1
|
konvertera bitkolumn till heltal
även om bitdatatyp är en taldatatyp kan du lägga till dem. För att göra det, använd cast-funktionen för att konvertera den till heltal innan du lägger till dem
1
2
3
4
|
välj cast(col1 som int) + cast(col1 som int) + cast (col2 som int)
från testBit
|