当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server中易混淆的数据类型

MSSQL
SQL语句技巧:按月统计数据
分页 SQLServer存储过程
SQL语句的基本语法
模糊查询
直接循环写入数据
删除重复记录
删除重复的记录,并保存第一条记录或保存最后一条记录
MSSQL数据库的定期自动备份计划。
一个比较实用的大数据量分页存储过程
数据库存储过程分页显示
ACCESS数据库的压缩,备份,还原,下载,删除的实现
sql编程的几个常识
SQL连接查询介绍
Sql Server基本函数
分页的存储过程
SQL Server全文索引服务
如何在SQLSERVER中快速有条件删除海量数据
整理一下SQLSERVER的排序规则
SQL Server各种日期计算方法(收藏)
全文检索技术 sql server

MSSQL 中的 SQL Server中易混淆的数据类型


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 219 ::
收藏到网摘: n/a

(1)char、varchar、text和nchar、nvarchar、ntext

  char和varchar的长度都在1到8000之间,它们的区别在于:

  char:是定长字符数据,,速度快。

  varchar:是变长字符数据,节省储存空间,但是存取速度慢。

  所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。

  text:存储可变长度的非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日到9999年12月31日的日期和时间数据,精确到百分之三秒。

  smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。

  (3)bitint、int、smallint、tinyint和bit

  bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。

  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)。