【机房重构】-SQL Server数据类型

来源:互联网 发布:兼容性测试矩阵设计 编辑:程序博客网 时间:2024/05/29 11:19

  

    1字符串数据类型:

       char(n)        固定长度的字符串。最多8,000 个字符。  
       varchar(n)     
可变长度的字符串。最多8,000 个字符。   
       varchar(max)   
可变长度的字符串。最多 1,073,741,824 个字符。   

       text           可变长度的字符串。最多2GB 字符数据。   

 

    2: Unicode 字符串:
       nchar(n)       
固定长度的 Unicode 数据。最多 4,000 个字符。   
       nvarchar(n)    
可变长度的 Unicode 数据。最多4,000 个字符。   
       nvarchar(max)  
可变长度的 Unicode 数据。最多536,870,912 个字符。   

       ntext          可变长度的 Unicode 数据。最多 2GB 字符数据。 


    3: Binary 类型:
       bit            
允许 0、1 或 NULL   
       binary(n)      
固定长度的二进制数据。最多8,000 字节。   
       varbinary(n)   
可变长度的二进制数据。最多 8,000 字节。   
       varbinary(max) 
可变长度的二进制数据。最多 2GB 字节。   

       image          可变长度的二进制数据。最多2GB。 


    4: 数字数据类型:
       tinyint       1
字节  允许从 0 到 255 的所有数字。  
       smallint      2
字节  允许从 -32,768 到 32,767 的所有数字。  
       int           4
字节  允许从 -2,147,483,648 到 2,147,483,647 的所有数字。  
       bigint        8
字节  允许介于 -9,223,372,036,854,775,808和9,223,372,036,854,775,807 之间的所有数字。 
       decimal(p,s)  5-17
字节     固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
       numeric(p,s)  5-17
字节     固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
       smallmoney    4
字节        介于 -214,748.3648 和 214,748.3647 之间的货币数据。  
       money         8
字节       介于-922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。 
       float(n)      4
或 8 字节   从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。  

       real          4字节       从-3.40E + 38 到3.40E + 38 的浮动精度数字数据。 

 

    5: Date 类型:
       datetime        8
字节     从1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。 
       datetime2       6-8
字节    1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。  
       smalldatetime   4
字节     从1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。 
       date            3
字节。    从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。  
       time            3-5
字节    仅存储时间。精度为100 纳秒。 
       datetimeoffset  8-10
字节   datetime2 相同,外加时区偏移。  

       timestamp       存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp基于内部时钟,不对应真实时间。每个表只能有一个timestamp 变量。  


区别:  

1、char,nchar,varchar,nvarchar有什么区别?

char和nchar是定长字符串类型,varchar和nvarchar是变长字符串类型。也就是说如果字段类型为char(10),那么即使你输入的字符为'abc',在数据库中也会保存成' abc',字段前面会被自动补上7个空格。而使用varchar(10)则前面不会补空格。  
至于前面那个n有什么不同,有n代表支持unicode字符,而没有n的则不支持,text和ntext的区别也是一样。


2、text和char及varchar的区别

text和char及varchar的区别在于,char和varchar字段的数据是保存在表中,而text字段可以保存大容量的文本,数据是保存在另外的空间里,当然在表面上看来并没有什么区别。 




0 0
原创粉丝点击