Skip to content

位类型

存储的是二进制值。如果没有指定 M,默认是1位,表示只能存 1 位的二进制值,最大值为64。

sql
CREATE TABLE table_bit (
  x BIT(2)
);

INSERT INTO table_bit
VALUES (0);

INSERT INTO table_bit
VALUES (1);

INSERT INTO table_bit
VALUES (2);

INSERT INTO table_bit
VALUES (3);

# 报错,4 的二进制为 100,超过 2 位。
INSERT INTO table_bit
VALUES (4);

# 显示的时候是以 16 进制显示的
# +------------+
# | x          |
# +------------+
# | 0x00       |
# | 0x01       |
# | 0x02       |
# | 0x03       |
# +------------+
SELECT *
FROM table_bit;

# 可以通过 + 0 以十进制形式显示,BIN() 以二进制形式显示,HEX() 以十六进制显示。
# +------------+-------+--------+--------+
# | x          | x + 0 | BIN(x) | HEX(x) |
# +------------+-------+--------+--------+
# | 0x00       |     0 | 0      | 0      |
# | 0x01       |     1 | 1      | 1      |
# | 0x02       |     2 | 10     | 2      |
# | 0x03       |     3 | 11     | 3      |
# +------------+-------+--------+--------+
SELECT x, x + 0, BIN(x), HEX(x)
FROM table_bit;