当前位置: 首页 > 知识库问答 >
问题:

有一个关于数据库的VARCHAR类型存储长度的问题?

瞿宏儒
2023-07-07

最近在使用国产数据库达梦数据库遇到一个问题

数据库中VARCHAR 字段存储字符的长度受

CHARSET和LENGTH_IN_CHAR 的影响

CHARSET代表字符集编码 默认是GBK 一个中文字符用三个字节表示

LENGTH_IN_CHAR 代表是否以字节存储,0代表字节 1代表字符

那么问题来了 如果一个字段 长度为10 VARECHAR filed(10)

字符集编码是UTF-8 且以字节存储的时候

实际上只能插入3个中文字符 10个英文字符

如果转换以字符存储的话反而能存储40个英文字符和13.3个中文字符 ?

想要达到的需求就是 如果规定了长度是10 那么不管英文中文都只能存储十个

不知道这个怎么实现?

共有1个答案

冉昊
2023-07-07

参照这个即可dm数据库初始化数据库VARCHAR类型是否以字符为单位

 类似资料:
  • 我正在尝试在Spring应用程序中设置第二个数据源。以下是两个数据源的两个配置类: 第二个配置类: 我在com上看到过。XYXYale。坚持不懈XY a Spring数据JPA回购协议定义如下 德莫雷波 人口学 DemoRepoImpl 回购协议的使用方式如下: 我得到一个例外: 有人对如何解决这个问题有建议吗?我可以想到为每个回购注入正确的实体经理,但是我不知道如何做到这一点。 提前感谢。在这里

  • 问题内容: 因此,问题的根源在于将XML数据存储在关系数据库中是否合适?通常有没有更好的方法来实现相同的目标?哪些数据库引擎为XML数据类型(例如SQL Server)提供了良好的支持,以及围绕“ XML索引”的问题是什么? 问题答案: 数据库用于存储数据。XML是数据。因此,在适当的情况下,将XML存储在数据库中是完全有效的。这是否是最有效的方法,取决于许多可能无法概括的因素。 例如,如果您有一

  • 以下代码片段输出结果是什么? var a = 1; var b = {value: 1}; var c = new Number(1); function foo(v){ v.value = "new Value"; } foo(a); foo(b); foo(c); console.log('a:',a) console.log('b:',b) console.log('c:',c

  • 我必须使用JPA+Hibernate做一个项目,其中我使用了3种方言:mysql5innodbdealication、mssql2012dealication和oracle12cdealication。 现在我有一个规范,它告诉我对于来自: > Oracle数据库,我必须使用NVARCHAR2(LENGTH)数据类型 MySql数据库,我必须使用VARCHAR(LENGTH)数据类型 @colum

  • 问题内容: 我对本地数据库和基于服务的数据库有一些疑问:使用基于服务的数据库是否要求用户安装SQL Server?如果是这样,有没有解决的办法?本地数据库是否要求用户安装SQL Server?本地数据库和基于服务的数据库之间有什么区别?(我正在谈论Visual Studio中的项目) 问题答案: 客户端不需要安装SQL即可以编程方式连接到其他地方的数据库。无论哪种机制包含连接数据库的代码,通常都会

  • 问题内容: 请记住,我将在经/纬对上执行计算,哪种数据类型最适合与MySQL数据库一起使用? 问题答案: 在GIS中使用MySQL的空间扩展。