达梦数据库字符集与varchar长度单位选择

本文详细介绍了达梦数据库中VARCHAR类型的长度单位选择及其与字符集的关系。LENGTH_IN_CHAR参数设置为1时,长度按字符计算,而设置为0时按字节计算。CHARSET参数影响字符集,0表示GB18030,1表示UTF-8。在UTF-8下,一个字符占4字节,英文字符占1字节,汉字占3字节;在GB18030下,一个字符占2字节,英文字符占1字节,汉字占2字节。
摘要由CSDN通过智能技术生成

达梦数据库字符集与varchar长度单位选择

在学习这之前我们先介绍达梦数据库中两个重要参数。
LENGTH_IN_CHAR:VARCHAR 类型对象的长度是否以字符为单位。1:是,设置为以字符为单位时,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可插入字符数超过定义长度的情况,这种情况也是允许的。同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为8188 字符,其实际能插入的字符串占用总字节长度仍然不能超过 8188;0:否,所有 VARCHAR 类型对象的长度以字节为单位。其取值 0 或 1。默认值为 0
CHARSET(UNICODE_FLAG):字符集选项。0 代表 GB18030,1 代表UTF-8,2 代表韩文字符集 EUC-KR。(这里只讨论前两种类型)

varchar数据类型是指的非定长字符串,用法类似char数据类型,可以指定一个不超过8188的正整数作为字符长度,例如:varchar(100)。如果未指定长度,缺省为8188。在基表中,当没有指定USINGLONG ROW 存储选项时,插入varchar数据类型的实际最大存储长度由数据库页面大小决定。
在使用DMINIT初始化数据库的时候,有两个参数CHARSET和LENGTH_IN_CHAR跟字符集相关。
CHARSET:此参数表示了数据库中所有数据的字符集,包括数据字典的字符集。需要注意的是,数据库一旦初始化完成,字符集就将无法修改。我们可以使用select unicode来查询当前数据库的字符集种类,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值