环境:
- window 10
- mysql 8.0.25
- vs2022
- .net core 3.1
- DBeaver
1. bit(M)
表示位类型,如: create table test(t_bit bit(16))
数据库中存储的是M个bit位,M范围是:[1,64],默认是1。
存储时,将原数据的bit位从右截取M个bit位存储到数据库:
- 如果原数据bit位长度小于M,则直接补0;
- 如果大于M,截取M长度后,原数据的左侧还有1,则报异常,否则将截取后的bit位直接存储到数据库;
看下面示例:
create table test.test(
t_bit bit,
t_bit8 bit(8),
t_bit16 bit(16),
t_bit32 bit(32),
t_bit64 bit(64),
t_bit4 bit(4)
)
insert into test.test(t_bit,t_bit8,t_bit16,t_bit32,t_bit64,t_bit4)values(true,1,2,3,4,5)
insert into test.test(t_bit,t_bit8,t_bit16)values(0x01,0xFF,