Sql sever 中插入中文字符串报错解决方法

第一次接触Sql sever时,在表中某一列插入中文字符串时出现以下报错场景

   

说明我字符串定义出错,原本定于为char(5),改为nchar(5)时报错就去掉了。

以下是主要介绍四类字符串类型

1、非Unicode字符串

(1)char  : 此数据类型可储存1~8000个定长字符串,字符串长度在创建时指定;如未指定,默认为插入char(1)。每个字符占用1byte存储空间。

(2)varchar : 此数据类型可存储最大值为8000个字符的可变长字符串。可变长字符串的最大长度在创建是指定,如varchar(50),每个字符占用1byte存储空间。

(3)text:此数据类型可存储最大值为2147483647个字符的变长文本,并且无需指定其初始值,每个字符占用1byte储存空间,一般用来储存大段的文章。text数据类型实际上是一个Large Object 数据类型,默认情况下,此类型的数据不是存储在数据行内,而是存储于独立的Large Object数据也上。另外,text数据类型不能作为函数、存储过程中或触发器中的参数来用。

2.Unicode字符串

(1)nchar: 此数据类型可存储1~4000个定长Unicode字符串,字符串长度在创建时指出;如未指定,默认为nchar(1)。每个字符占用2bytes存储空间。

(2)nvarchar: 此数据类型可存储最大值为4000个字符可变长Unicode字符串。可变长Unicode字符串的最长长度在创建时指定,如nvarvhar(50),每个字符占用2bytes存储空间。

(3)ntext: 同text数据类型,只不过存储空间的是最大值为1073741823个字符的Unicode变长文本,每个字符占用1byte存储空间。

3、使用情况

(1)存在中文 :用Unicode字符串,因为Unicode编码汉字和字母都是2字节,处理速度会快点。

(2)使用定长字符串:用char、nchar;反之用变长字符串。

(3)注重处理速度:用固定长度字符串。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值