Summary: in this tutorial, you will learn how to use the SQL Server BIT
data type to store bit data in the database.
Overview of BIT data type
SQL Server BIT
data type is an integer data type that can take a value of 0, 1, or NULL
.
The following illustrates the syntax of the BIT
data type:
BIT
Code language: SQL (Structured Query Language) (sql)
SQL Server optimizes storage of BIT
columns. If a table has 8 or fewer bit columns, SQL Server stores them as 1 byte. If a table has 9 up to 16 bit columns, SQL Server stores them as 2 bytes, and so on.
SQL Server converts a string value TRUE
to 1 and FALSE
to 0. It also converts any nonzero value to 1.
SQL Server BIT examples
The following statement creates a new table with one BIT
column:
CREATE TABLE test.sql_server_bit (
bit_col BIT
);
Code language: SQL (Structured Query Language) (sql)
To insert a bit 1 into the bit column, you use the following statement:
INSERT INTO test.sql_server_bit (bit_col)
OUTPUT inserted.bit_col
VALUES(1);
Code language: SQL (Structured Query Language) (sql)
The output is:
bit_col
-------
1
(1 row affected)
To insert a bit 0 into the bit column, you use the following statement:
INSERT INTO test.sql_server_bit (bit_col)
OUTPUT inserted.bit_col
VALUES(0);
Code language: SQL (Structured Query Language) (sql)
Here is the output:
bit_col
-------
0
(1 row affected)
If you insert a string value of True
into the bit column, SQL server converts it to bit 1:
INSERT INTO test.sql_server_bit (bit_col)
OUTPUT inserted.bit_col
VALUES
('True');
Code language: SQL (Structured Query Language) (sql)
The following shows the output:
bit_col
-------
1
(1 row affected)
Similarly, SQL Server converts a string value of false
to bit 0:
INSERT INTO test.sql_server_bit (bit_col)
OUTPUT inserted.bit_col
VALUES
('False');
Code language: SQL (Structured Query Language) (sql)
The following is the output:
bit_col
-------
0
(1 row affected)
SQL Server converts any nonzero value to bit 1. For example:
INSERT INTO test.sql_server_bit (bit_col)
OUTPUT inserted.bit_col
VALUES
(0.5);
Code language: SQL (Structured Query Language) (sql)
The following is the output:
bit_col
-------
1
(1 row affected)
In this tutorial, you have learned how to use the SQL Server BIT
data type to store bit data in a table.