达梦8初始化参数之CHARSET,LENGTH_IN_CHAR

一、参数解释

LENGTH_IN_CHAR是初始化数据库时一个参数,数据库创建后不能修改,需要建库的时候考虑好
此参数决定了,数据库中的VARCHAR类型对象的长度是否以字符为单位。
取值为1或者Y则设置为以字符为单位,将存储长度值按照理论字符长度进行放大。
取值为0或者N则所有 VARCHAR 类型对象的长度以字节为单位
不管如何定义,实际能插入的字符串占用总字节长度仍然不能超过 8188的上限

CHARSET 字符集选项。 取值:0代表GB18030,1代表UTF-8,2代表韩文字符集 EUC-KR。默认为 0。

二、四种场景

1.CHARSET=0,LENGTH_IN_CHAR=0

这是初始化数据库时的默认配置,字符集为gb18030,varchar长度以字节为单位,汉字一般需要占用两个字节

2.CHARSET=1,LENGTH_IN_CHAR=0

字符集为UTF-8,varchar长度以字节为单位,汉字一般占据三个字节

3.CHARSET=0,LENGTH_IN_CHAR=1

字符集为GB18030,在length_in_char=1的情况下,varchar按字符来计数,varchar的实际可存储字节数会按2倍的比例放大
例如定义varchar(10),那么就可以存储10 * 2 = 20个字节的数据

4.CHARSET=1,LENGTH_IN_CHAR=1

字符集为UTF-8,varchar长度以字符为单位,varchar的实际存储字节数会按4倍的比例放大
例如定义varchar(10),那么就可以存储10 * 4 = 40个字节的数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值