为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8_20240710_x86_win_64
【操作系统】:win10
【CPU】: amd64
【问题描述】*:安装时字符集为GB18030,nvarchar建表、插入、查询都算通过,但是SQL脚本里报出字符串截断,被整糊涂了。详见下图:
既然varchar(2 char)字段能存2个中文,那么varchar(2 char)变量也应该能赋值2个中文。这就是所谓的一致性,而一致性对于数据库而言非常重要。
总感觉达梦在varchar(N)到底能保存多少个字符很混乱,2021版用LENGTH_IN_CHAR,2024版又废弃,废弃后又引入新的不一致。对于使用者而言,varchar(N)中的N,就是字符个数,直观又方便理解。
脚本中的变量定义,换成varchar(2 char),还是报错:
