您的位置:首页 > 数据库

SQL中各数据类型的区别

2015-01-16 18:12 120 查看
数据类型 默认长度(字符数)

Char 定义的列长度

Varchar 定义的列长度

Nchar 定义的列长度的两倍

Nvarchar 定义的列长度的两倍

Text 0

Ntext 0

Bit 1

Binary 定义的列长度的两倍 + 1

Varbinary 定义的列长度的两倍 + 1

Image 0

Datetime 24

Smalldatetime 24

Float 30

Real 30

Int 12

Bigint 19

Smallint 7

Tinyint 5

Money 30

Smallmoney 30

Decimal 41*

Numemic 41*

Uniqueidentifier37

Timestamp 17

 

字符串

--------------------

VARCHAR   可变长度的非 Unicode 数据,最长为 8,000 个字符

CHAR   固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符

Text  可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符

-----------------------

Unicode 字符串

NCHAR   固定长度的 Unicode 数据,最大长度为 4,000 个字符

VNCHAR  可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统          提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。

NTEXT  可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符

---------------------

数值型

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 的整数数据。

DECIMAL从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据

NUMERIC功能同DECIMAL

--------------

MONEY

MONEY货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。

SMALLMONEY   货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十

----------------------

日期型数据

Datatime从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。

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

------------------------

VARCHAR型和CHAR型数据的这个差别是细微的,

   但是非常重要。假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。

    现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。

    当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。

    VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。

欢迎交流 http://blog.csdn.net/ycwol/article/details/42780211
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql