1.整数类型
数据类型 | 存储大小(字节) | 范围 |
bit | x≤8bit列(1字节),9≤x≤16bit列(2字节) | 可以取值为 1、0 或 NULL 的整数数据类型 |
tinyint | 1字节 | 0 到 255 |
smallint | 2字节 | -215 (-32,768) 到 215-1 (32,767) |
int | 4字节 | -231 (-2,147,483,648) 到 231-1 (2,147,483,647) |
bigint | 8字节 | -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 – 1 | 1 到 38,默认精度18 | 0 <= s <= p,默认小数位数0 |
精度(precision) | 存储大小(字节) |
1 – 9 | 5字节 |
10-19 | 9字节 |
20-28 | 13字节 |
29-38 | 17字节 |
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 ×1038 | 7 位数 |
float [ (n) ] | 8字节 | 25-53,默认值53 | -1.79 × 10308 到-2.23 × 10-308,0 ,2.23 × 10-308 到 1.79 × 10308 | 15 位数 |
4.money 和 smallmoney
表示货币或货币值的数据类型。
数据类型 | 存储大小(字节) | 范围 |
money | 8字节 | -922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
smallmoney | 4字节 | -214,748.3648 到 214,748.3647 |
5.日期和时间类型
数据类型 | 存储大小(字节) | 默认格式 | 范围 | 描述 |
date | 3字节 | YYYY-MM-DD | 公元0001-01-01 到 公元9999-12-31 | 日期 |
time | 5字节 | hh:mm:ss[.nnnnnnn] | 00:00:00.0000000 到 23:59:59.9999999 | 时间 |
datetime2 | 6-8字节 | YYYY-MM-DD hh:mm:ss[.fractional seconds] | 公元0001-01-01 00:00:00 到 公元9999-12-31 23:59:59.9999999 | 日期时间 |
datetimeoffset | 10字节 | YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm] | 公元0001-01-01 00:00:00 到 公元9999-12-31 23:59:59.9999999 | 带时区的日期时间 |
6.字符类型
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双字节+2 | n字符数(UCS-2编码) | 可能小于 n字符数(UTF-16 编码) | 可变大小 |
7.二进制类型
表示固定长度或可变长度的 Binary 数据类型。
如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。
数据类型 | n范围(字节) | 存储大小(字节) | 描述 |
binary [ ( n ) ] | 1字节≤n≤8000字节 | n字节 | 固定长度 |
varbinary [ ( n | max) ] | 1字节≤n≤8000字节,max为231-1字节 | 实际n+2字节 | 可变长度 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/sqle/14286.html