实例分析varchar和nvarchar的区别--【叶子】
来源:互联网 发布:js遍历map 编辑:程序博客网 时间:2024/05/16 02:13
一、整体介绍
1、varchar(n)
(1) 长度为n个字节的可变长度且非Unicode 的字符数据。
(2) n 必须是一个介于1和8,000 之间的数值。
(3) 存储大小为输入数据的字节的实际长度,而不是n个字节。
2、nvarchar(n)
(1) 包含n个字符的可变长度Unicode字符数据。
(2) n 的值必须介于1与4,000 之间。
(3) 字节的存储大小是所输入字符个数的两倍。
二、实例分析
我们首先定义两个不同类型的字符串,来看一下他们的字符数和字节数:
DECLARE @sql_one varchar(200)
SET @sql_one='China中国Beijing北京Olympics奥林匹克'
DECLARE @sql_two nvarchar(200)
SET @sql_two='China中国Beijing北京Olympics奥林匹克'
select dbo.[chinesecount_new]( @sql_two)
SELECT DATaLENGTH(@sql_one) '@sql_one字节数',
LEN(@sql_one) '@sql_one字符数',
DATaLENGTH(@sql_two) '@sql_two字节数',
LEN(@sql_two) '@sql_two字符数'
/*结果
@sql_one字节数@sql_one字符数@sql_two字节数@sql_two字符数
----------- ----------- ----------- -----------
36 28 56 28
*/
三、误区分析
如果varchar(n)中n的范围是1~8000,而nvarchar(n)中n的范围是1~4000,是不是varchar就比nvarchar存放的多呢,当然不是。
DECLARE @one varchar(10)
SET @one='忽如一夜春风来千树万树梨花开'
DECLARE @two nvarchar(10)
SET @two='忽如一夜春风来千树万树梨花开'
SELECT @one 'varchar', @two 'nvarchar'
/*结果
varchar nvarchar
---------- ----------
忽如一夜春 忽如一夜春风来千树万
*/
我们可以清楚地看到 varchar(10)只能放5个汉字,而nvarchar(10)能放10个
也就是说varchar(8000)和nvarchar(4000)存放的汉字的最大上限是一样的。
如果是字母或是数字就不一样了!
DECLARE @one varchar(10)
SET @one='abcdefghijklmn'
DECLARE @two nvarchar(10)
SET @two='abcdefghijklmn'
SELECT @one 'varchar', @two 'nvarchar'
/*结果
varchar nvarchar
---------- ----------
abcdefghij abcdefghij
*/
四、使用规则
由于varchar(n)是非Unicode 的数据类型,而nvarchar(n)是Unicode 的数据类型。所以如果是纯字母和数字的字符串用varchar,而有汉字或是韩文的用nvarchar。这样既可以不影响效果,有最大限度的避免了乱码。
注:Unicode(统
© 【叶子】http://blog.csdn.net/maco_wang 原创作品,转贴请注明作者和出处,留此信息。
- 实例分析varchar和nvarchar的区别--【叶子】
- 实例分析varchar和nvarchar的区别--【叶子】
- 实例分析varchar和nvarchar的区别
- nvarchar 和 varchar 的区别
- nvarchar和varchar的区别
- nvarchar 和 varchar 的区别
- varchar和nvarchar的区别
- varchar和nvarchar的区别
- varchar和nvarchar的区别
- varchar和nvarchar的区别
- varchar和nvarchar的区别:
- varchar和nvarchar的区别
- varchar 和nvarchar的区别
- varchar和nvarchar的区别
- varchar和nvarchar的区别
- varchar和nvarchar的区别:
- varchar和nvarchar的区别
- varchar和nvarchar的区别
- echo 'names';
- 如何把从数据库读出来的数据以excel格式显示到网页?
- one
- 如何正确选择服务器证书
- windows注册表命令大全
- 实例分析varchar和nvarchar的区别--【叶子】
- DESIGN PATTERN LEARNING(设计模式之学习总结)
- 对站长们有用的google工具列表
- 图片:模特为某MP3的广告图
- war打包命令
- javaScript手册:radio object
- Google 和百度网页搜索的查询参数解释
- convert() 日期格式
- 正则表达式全部符号解释