数据库分清SQLServer中易混淆的数据类型

数据库分清SQLServer中易混淆的数据类型,第1张

数据库分清SQLServer中易混淆的数据类型,第2张

(1)char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间。两者的区别在于,char是定长字符数据,而varchar是变长字符数据。所谓定长,就是长度固定。当输入数据长度未达到规定长度时,会自动填充英文空使长度达到相应长度;空单元格中不会填充变长字符数据。文本存储可变长度的非unicode数据,长度为2 ^ 31-1(2,147,483,647)个字符。

与前一种相比,后三种数据类型的名称中只有一个字母“n”,这意味着存储的是Unicode数据类型的字符。写过程序的朋友应该很了解Unicode。中英文字符只需要一个字节存储,但有很多汉字需要两个字节存储。当英文和中文同时存在时,很容易造成混淆。Unicode字符集就是为了解决字符集不兼容的问题而应运而生的。它的所有字符都用两个字节表示,也就是英文字符也用两个字节表示。nchar和nvarchar的长度在1到4000之间。与char和varchar相比,nchar和nvarchar可以存储多达4000个字符,无论是英文还是中文。Char和varchar最多可以存储8000个英文字符和4000个中文字符。可以看出,使用nchar和nvarchar数据类型时,不用担心输入的字符是英文还是中文,比较方便,但存储英文的数量有所损失。

(2)datetime和smalldatetime
datetime:从1753年1月1日到1999年12月31日的日期和时间数据,精确到百分之三秒。
smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。
(3)bitint,int,smallint,tinyint和bit
bigint:from-2 63(-922372036854775808)to 2 63-1(922372036854775807)。
int:从-2 ^ 31(-2,147,483,648)到2 ^ 31-1(2,147,483,647)的整数数据。
smallint:从-2 ^ 15(-32,768)到2 ^ 15-1(32,767)的整数数据。
tinyint:从0到255的整数数据。
Bit:1或0的整数数据。

(4)decimal和numeric
是等效的数据类型。两者都有两个参数:P(精度)和S(刻度)。p指定小数点左边和右边可以存储的十进制位数。p必须是1到38之间的值。指定小数点s右侧可以存储的小数位数,s必须是0到p之间的值,默认小数位数为0。

(5)float和real
float:从-1.79 308到1.79 308的浮点数字数据。
real:从-3.40 38到3.40 38的浮点数字数据。在SQL Server中,real的同义词是float(24)。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 数据库分清SQLServer中易混淆的数据类型

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情