10.SQL Server常用数据类型一览表

1.整数类型

数据类型存储大小(字节)范围
bitx≤8bit列(1字节),9≤x≤16bit列(2字节)可以取值为 1、0 或 NULL 的整数数据类型
tinyint1字节0 到 255
smallint2字节-215 (-32,768) 到 215-1 (32,767)
int4字节-231 (-2,147,483,648) 到 231-1 (2,147,483,647)
bigint8字节-263 (-9,223,372,036,854,775,808) 到 263-1 (9,223,372,036,854,775,807)

2.decimal 和 numeric

表示带固定精度(precision)和小数位数(scale)的精确数值数据类型。

p (precision):小数点的左右两侧存储的十进制数字位数。

s (scale):小数点右侧存储的十进制数字位数。

decimal 和 numeric 是同义词,可互换使用。

数据类型范围精度(precision)小数位数(scale)
decimal[ (p[ ,s] )]– 10p +1 到 10p – 1,使用最大精度时,为-1038 +1 到 1038 – 11 到 38,默认精度180 <= s <= p,默认小数位数0
精度(precision)存储大小(字节)
1 – 95字节
10-199字节
20-2813字节
29-3817字节

3.float 和 real

表示浮点数值数据的近似数值数据类型。

float [ (n) ] 其中 n 为用于存储 float 数值尾数的位数(以科学记数法表示),因此可以确定精度(precision)和字节(Byte)。n 的默认值为 53 。

real 的 ISO 同义词为 float(24)。

double precision 的 ISO 同义词为 float(53)。

数据类型存储大小(字节)n值范围精度(precision)
float [ (n) ]4字节1-24,默认值24-3.40 ×1038 到 -1.18 ×10-38,0 ,1.18 ×10-38 到3.40 ×10387 位数
float [ (n) ]8字节25-53,默认值53-1.79 × 10308 到-2.23 × 10-308,0 ,2.23 × 10-308 到 1.79 × 1030815 位数

4.money 和 smallmoney

表示货币或货币值的数据类型。

数据类型存储大小(字节)范围
money8字节-922,337,203,685,477.5808 到 922,337,203,685,477.5807
smallmoney4字节-214,748.3648 到 214,748.3647

5.字符类型

n代表存储大小,单位为字节(Byte),不是代表字符数。

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。 如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。

多字节字符集可以包含单字节和双字节字符的混合形式。

nchar 和 nvarchar是 national char 和national char varying的简写。

数据类型n范围(字节)存储大小(字节)可存储的字符数可存储的字符数描述
char [ ( n ) ]1字节≤n≤8000字节n字节n字符数(单字节编码字符集)可能小于 n字符数(多字节编码字符集)固定大小
varchar [ ( n | max ) ]1字节≤n≤8000字节,max为231-1字节(2GB)n+2字节n字符数(单字节编码字符集)可能小于 n字符数(多字节编码字符集)可变大小
nchar [ ( n ) ]1双字节≤n≤4000双字节n双字节n字符数(UCS-2编码)可能小于 n字符数(UTF-16 编码)固定大小
nvarchar [ ( n | max ) ]1双字节≤n≤4000双字节,max为230-1字符数(2GB)n双字节+2n字符数(UCS-2编码)可能小于 n字符数(UTF-16 编码)可变大小

6.二进制类型

表示固定长度或可变长度的 Binary 数据类型。

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。

数据类型n范围(字节)存储大小(字节)描述
binary [ ( n ) ]1字节≤n≤8000字节n字节固定长度
varbinary [ ( n | max) ]1字节≤n≤8000字节,max为231-1字节实际n+2字节可变长度

7.日期和时间类型

数据类型存储大小(字节)默认格式范围描述
date3字节YYYY-MM-DD公元0001-01-01 到 公元9999-12-31日期
time5字节hh:mm:ss[.nnnnnnn]00:00:00.0000000 到 23:59:59.9999999时间
datetime26-8字节YYYY-MM-DD hh:mm:ss[.fractional seconds]公元0001-01-01 00:00:00 到 公元9999-12-31 23:59:59.9999999日期时间
datetimeoffset10字节YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]公元0001-01-01 00:00:00 到 公元9999-12-31 23:59:59.9999999带时区的日期时间

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/sql/14286.html

(0)
上一篇 2022年2月7日 16:36
下一篇 2022年3月29日 23:04

相关推荐

  • 6.安装MySQL和phpMyAdmin的步骤(Fedora)

    1.配置MySQL源 首先到https://dev.mysql.com/downloads/,下载MySQL 对应的源并安装。 2.安装MySQL 在Fedora下安装MySQL后,会自动注册为服务,并随操作系统第一次重新启动后自动启动。 在Fedora下安装MySQL后,会自动添加一个操作系统用户,用户名为mysql…

    SQL教程 2021年1月8日
    04530
  • 1.SQL语言的发展介绍

    SQL(Structured Query Language:结构化查询语言)是一种领域特定编程语言,用于管理关系数据库管理系统(RDBMS)。 1.历史 在1970年代初,由IBM公司San Jose,California研究实验室的埃德加·科德发表将数据组成表格的应用原则(Codd’s Relationa…

    SQL教程 2020年8月17日
    01.2K0
  • 2.SQL中主键和外键的作用

    主键是关系表中行的唯一标识。主键的选取非常重要:主键不要带有业务含义,而应该使用BIGINT自增或者GUID类型。每个表都应该有一个主键,并且每个表只能有一个主键,主键也不应该允许NULL空值。 外键可以让关系数据库实现一对多、多对多和一对一的关系,表的外键是另一表的主键。 1.一对多 classes表 id name…

    SQL教程 2020年8月17日
    09180

发表评论

登录后才能评论