SQL server中常用的数据类型(时间和金钱的存储)

1. int , smallint ,tinyint

int :占用四个字节,存储数据范围为-21 4748 3647到21 4748 3647(10位);

tinyint:占用一个字节,只能 存储 0-255的整数,不可以存储 负数

smallint :存储数据范围从-32768到32768的整数。

2.decimal ,numeric 

decimal(p,q)

  参数说明:

        p:指定小数点左边和右边可以存储的十进制数字的个数.

        q:指定小数点右边可以存储的十进制数字的个数。小数位数必须是从0~p之间的值,默认小数位数是0. 

依12345678.987654321 这个数据为例,说明此函数的存储格式
                   decimal:12345678
                   decimal(3):999
                   decdimal(3,2):9.99
                   decimal(10,5) 12345678.98765
 超出精度范围的数会被强制进位并只显示数据类型定义的格式

 numeric 和 Decimal 是同义词:带固定精度和小数位数的数值数据类型,可互换使用;

Numeric(10,2) 指字段是数字型,长度为10 小数为两位的

3.money,smallmoney

money型数据可以存储从-922,337,203,685,477.5808到922, 337,203,685,477.5807的钱数。

如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。 
smallmoney型数据只能存储从-214,748.3648到214,748.3647 的钱数

4.字符型:VARCHAR     CHAR都可以用来存储字符串长度小于255的字符

区别:假如你定义个CHAR(10)用来存ABC,那么当你取出数据时,所取数据长度为10个字符,即为ABC (后面再跟7个空格),

而VARCHAR不会,不会用空格来填充剩余的字符长度,存的为ABC,取时还为ABC;

5、日期型   DATETIME   SMALLDATETIME

一个DATETIME型存储范围从1753年1月1日第一毫秒到9999年12月31日最后一毫秒,精确到毫秒。

SMALLDATEINT范围为1900年1月1日到2079年6月6日,只精确到秒。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章