码迷,mamicode.com
首页 > 数据库 > 详细

文字型态的数据适合什么格式存进数据库 ?

时间:2019-09-13 13:35:39      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:日文   add   说明   tps   格式   enter   bytes   idt   pad   

文字型态的数据适合什么格式存进数据库



使用数据库保存文字的数据,在数据库中会有以下这些的型态可以设定
char, varchar, nchar, nvarchar
那么到底要用哪种型态比较适合,这些型态之间有何差异呢??

意义与差异

从这些字眼上来看,都是有char,差别在var与n这两个字眼,那么就先来简单介绍一下这两个字眼代表的意义:

var:不定长度→有多长存多长

n:Unicode→无论英文、数字、中文、日文、...每个字都占2Byte。

说明一下:

char与nchar声明的是固定的长度,因此如果声明char(5),但是只放a这个字,那么就会补另外4个空白,会补空白补满是他的特性,而nchar(5)也是会放满5个字,但是每个字无论中英数都会用2个Bytes来存放

varchar与nvarchar都是不定长度,因此如果声明varchar(5),但是只放a这个字,那么就会放一个a,不会补空白。而如果声明nvarhcar(5)那还是只放a这个字,但是会用2Bytes来存放。如果放了【】这个中文字,在varchar会占用2个位子,但是nvarchar指占用1个位子。

举个例子来看

假设有四个字段,分别放入【a1中】这样的字符串,比较一下这些的差异如下:

数据类型 内容 占位数 Byte数
char(10) a1中+6个空白 10 10
varchar(10) a1中 4 1+1+2=4
nchar(10) a1中+7个空白 10 20
nvarchar(10) a1中 3 2*3=6

再来一个比较char(10)与nchar(10)

1

2

3

4

5

6

7

8

9

10

char(10)

a 1

           
2位

1

2

3

4

5

6

7

8

9

10

nchar(10)

a   1  

                           

因此在规划上,只要存放的数据有可能有中文,小喵就会加n。而除非确定数据固定会是几位不变,不然数据长度不特定就会声明加上var

此文为转贴,原文: 【topcat姗舞之间的极度凝聚】



原文:大专栏  文字型态的数据适合什么格式存进数据库 ?


文字型态的数据适合什么格式存进数据库 ?

标签:日文   add   说明   tps   格式   enter   bytes   idt   pad   

原文地址:https://www.cnblogs.com/petewell/p/11516512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!