SQL Server提供两种数据类型来存储字符信息.在如何在SQL Server或应用程序中使用方面,这两种数据类型大致是一样的.差别在于nvarchar是用于存储处理数据库图表中多语言数据的Unicode数据.其它语言有一套需要保存的字符代码的扩展集,这种数据类型支持这样的扩展.因为需要存储其它语言的扩展字符代码,nvarchar占用的空间是varchar的两倍. 字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就…
一.前言 在了解varchar 和nvarchar之前咱们先了解一下这些词的字面和常用意思,以方便我们更好的使用: SQL SERVER中生成的语句中,字符串前加N.N 前缀必须是大写字母.是Unicode编码的意思,一般来说,英文字符是一个字节组成,但是国际上的字太多了,因此就用两个字节来表示字符,满足国际化的需要. 在字符串前面加上 N 代表存入数据库时以 Unicode 格式存储.N'string' 表示string是个Unicode字符串 Unicode 字符串的格式与普通字符串相似,但…
DATALENGTH 与LEN的查询区别 插入结果 总结:DATALENGTH计算字节长度,LEN计算字符串长度 VARCHAR(2)是指允许存取字节长度小于或等于2的字符串          NVARCHAR(2)是指允许存取字节长度小于或等于4且字符串长度小于或等于2的字符串…
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节. nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据.n 的值必须介于 1 与 4,000 之间.字节的存储大小是所输入字符个数的两倍. 两字段分别有字段值:我和coffee那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间.…
SQL中varchar和nvarchar的基本介绍及其区别 varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节. nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据.n 的值必须介于 1 与 4,000 之间.字节的存储大小是所输入字符个数的两倍. 两字段分别有字段值:我和coffee 那么varchar字段占2×2+6=10个字节…
一.char和varchar的区别char是固定长度的,而varchar会根据具体的长度来使用存储空间,另外varchar需要用额外的1-2个字节存储字符串长度.1). 当字符串长度小于255时,用额外的1个字节来记录长度2). 当字符串长度大于255时,用额外的2个字节来记录长度比如char(255)和varchar(255),在存储字符串"hello world"时,char会用一块255个字节的空间放那个11个字符:而varchar就不会用255个,它先计算字符串长度为11,然后…
Sql语句varchar或nvarchar字段条件前加N的话是对这个字段进行Unicode编码, 这样做的目的是避免在这种字段中存入俄文.韩文.日文的情况下有可能会出现乱码. 但这样做也会有性能问题,举例如下: SELECT * FROM UserInfo WHERE Name = N'taiyonghai' 查询时会解析器会认为[人为因素优先],你加了N他会理解为你希望用编码后的结果作对比, 所以会先对数据表中的Name字段的[所有数据进行Unicode编码],再进行对比 SELECT * F…
sql中varchar(n),nvarchar(n) 长度性能及所占空间分析 1.varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. varchar(n)最多能存n个字节,一个中文是两个字节. 2.所占空间: nvarchar(n)一个字符会占两个字节空间. varchar(n)中文占两字节空间,英文占一个. 3.n的取值范围: nvarchar(n)   n的范围是:1与4000之间 varchar(n)   n的范围是:1与…
概括: char:固定长度,存储ANSI字符,不足的补英文半角空格.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义CHAR(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充,所以在读取的时候可能要多次用到trim(),比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节).但正因为是固定长度,所以速度效率高. nch…
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节.nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据.n 的值必须介于 1 与 4,000 之间.字节的存储大小是所输入字符个数的两倍.两字段分别有字段值:我和coffee那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间.如字…