mysql varbinary 长度_mysql8 参考手册--BINARY和VARBINARY类型

BINARY和VARBINARY类型与CHAR和VARCHAR类似,只是它们存储的是二进制字符串而不是非二进制字符串。也就是说,它们存储字节字符串而不是字符串。这意味着它们具有二进制字符集和排序规则,并且比较和排序基于值中字节的数值。

对于BINARY和VARBINARY,允许的最大长度与CHAR和VARCHAR相同,只是BINARY和VARBINARY的长度是以字节而不是字符度量的。

BINARY和VARBINARY数据类型不同于CHAR BINARY和VARCHAR BINARY数据类型。对于后一种类型,BINARY属性不会将列视为二进制字符串列。相反,它将使用列字符集(如果未指定列字符集,则使用表默认字符集)的二进制`(_bin)'排序规则,并且列本身存储非二进制字符串,而不是二进制字节字符串。例如,如果默认字符集是utf8mb4,则CHAR(5)BINARY被视为CHAR(5)character set utf8mb4 COLLATE utf8mb4_bin。这与BINARY(5)不同,后者存储具有二进制字符集和排序规则的5字节二进制字符串。

如果未启用严格的SQL模式,并且您为BINARY或VARBINARY列分配的值 超过了列的最大长度,则该值将被截断以适合并生成警告。对于截断的情况,要导致发生错误(而不是警告)并抑制该值的插入,请使用严格的SQL模式。

当存储二进制值时,它们用pad值填充到指定的长度。pad值为0x00(零字节)。值用0x00右填充以进行插入,并且不删除用于检索的尾随字节。所有字节在比较中都是重要的,包括按顺序和不同的操作。0x00和space的比较不同,0x00在space之前排序。

示例:对于BINARY(3)列, 在插入时'a &#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值