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

  

    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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值