char ,varchar,nchar,nvarchar区别
来源:互联网 发布:arm linux gcc最新版 编辑:程序博客网 时间:2024/05/15 03:37
char ,varchar,nchar,nvarchar
四种都为字符类型,可按照两种方式分类
分类一:
定长或变长
类型
是否可变成
Char,nchar
否(如:定义了char(20),但是输入的字符不足20位,则会以空格补齐)
Varchar,nvarchar
是
分类二:
Unicode或非Unicode
类型
是否可变成
Char,varchar
非Unicode(可存储4000个汉字,或者8000个英文)
nchar,nvarchar
Unicode(不管英文汉字都最多存4000个)
从以上分类不难看出,是否带var前缀可区分出定长或者变长;是否带n前缀可区分出Unicode或非Unicode。
下边我们对四种字符来做一一介绍:
Char[n]
长度为n个字节固定长度且非Unicode的字符数据。n必须是一个介于1和8000之间的值。存储大小为n个字节,输入字符不足n字节则系统会自动已空格补全。
Varchar(n)
长度为n个字节可变长度且非Unicode的字符数据。n必须是一个介于1和8000之间的数值。存储大小为输入数据的字节实际长度,而不是n个字节。
Nchar(n)
长度为n个字节固定长度的Unicode字符数据。n必须是一个介于1和4000之间的值。存储大小为n的两倍,输入字符长度不足n则系统会自动已空格补全。
Nvarchar(n)
长度为n个字节可变长度的Unicode字符数据。n必须是一个介于1和4000之间的值。存储大小为输入字符个数的两倍。输入的字符长度可以为0。
注:
①在数据定义或者变量声明中没指定长度(n),则默认长度为1。在数据转换中(如使用convert)没有指定则默认长度为30。因此,在是使用过程中一定要注意是否需要指定长度,如char在声明变量时忘记指定长度,给赋值’ab’,那么系统会自动截取一位’a’存储。
②具体使用哪种类型根据实际情况灵活选择。如果希望列中的数据值大小接近一致,使用char、nchar;如果希望列中的数据值大小显著不同,使用varchar、nvarchar。
③如果执行CREATE TABLE或 ALTER TABLE 时 SET ANSI_PADDING为OFF,则一个定义为NULL的char列将被作为varchar处理。
④SET ANSI_PADDING OFF 不适用于 nchar 或 nvarchar。SET ANSI_PADDING ON 永远适用于 nchar 和 nvarchar。
⑤Char,varchar两种字符类型汉字占用两个字符,字母占用一个字符。
⑥Nchar,nvarchar两种字符类型的每个字符都占用两个字符。即使是字母也占用两个字符。
简单总结如下
1、 varchar:
可变长度的非 Unicode 数据,最长为 8,000 个字符。
2、nvarchar:
可变长度 Unicode 数据,其最大长度为 4,000 字符。
3、char:
固定长度的非 Unicode字符数据,最大长度为 8,000个字符。
4、nchar
固定长度的 Unicode数据,最大长度为 4,000个字符。
- char、varchar、nchar、nvarchar区别?
- nvarchar varchar char nchar区别
- char,nchar,varchar,Nvarchar区别
- nchar nvarchar char varchar 区别
- char ,varchar,nchar,nvarchar区别
- char,nchar,varchar,Nvarchar区别
- char varchar nchar nvarchar区别
- char/nchar、varchar/nvarchar、char/character区别
- nchar , char , nvarchar , varchar 的区别
- nchar , char , nvarchar , varchar 的区别
- char、varchar、nchar、nvarchar的区别
- nchar,char,varchar与nvarchar区别
- nchar,char,varchar与nvarchar区别
- 【整】char、varchar、nchar、nvarchar的区别
- nchar,char,varchar与nvarchar区别
- char、varchar、nchar、nvarchar的区别
- nchar,char,varchar与nvarchar区别
- nchar,char,varchar与nvarchar区别
- C#写文件时打开
- jmeter并发测试java接口
- Fragment之一:Fragment入门
- Groovy学习1
- 算法导论C语言实现: 分治策略 -- 矩阵乘法的Strassen算法
- char ,varchar,nchar,nvarchar区别
- lvm
- V2R1新功能介绍:Shell终端的超时退出
- 软件下载难
- django URL映射过程
- 每天进步一点点-------JS小游戏之屠龙者
- 怎样在Win7系统中搭建Web服务器
- proxoo连接池配置常见问题
- MapReduce笔记