SQL Server中varchar(n)和nvarchar(n)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中varchar(n)和nvarchar(n)相关的知识,希望对你有一定的参考价值。

SQL SERVER中,varchar(n),nvarchar(n)的n是不是代表字符串长度? 如果是长度的话,定义两个字段, 字段1 数据类型varchar(4), 字段2 数据类型nvarchar(4)。 向字段1、字段2中分别填充4个英文字母,不会报错 当向字段2中填充4个汉字时,不会报错。但是当向字段1 中填充4个汉字时,就会出错(截取字符串),这是为什么?

参考技术A varchar(n)中的n代表的的实际占用字节数,而nvarchar(n)里面的n则是字符串长度 参考技术B varchar(n)
好像1到8000
nvarchar(n)好像到4000
从根本来说varchar存储字符大小和输入字符长度相等;一个
英文字母
分配一个字节,一个汉字分配俩个字节
nvarchr存储大小是所输入字符个数的两倍。一个英文字母分配俩个字节,n个字母分配2n个字节,一个汉字就分配俩个字节,这个大小刚是一个汉字所占的大小

以上是关于SQL Server中varchar(n)和nvarchar(n)的主要内容,如果未能解决你的问题,请参考以下文章

SQL server的数据类型

SQL Server插入中文乱码

将充满逗号分隔值的 varchar 传递给 SQL Server IN 函数

让 Hibernate 和 SQL Server 与 VARCHAR 和 NVARCHAR 配合使用

SQL Server 2008 varchar 和 char 不起作用

使用 Laravel 在 SQL Server 中添加 varchar 列类型