参考引用SQL文档数据类型 一、数值类型
数据类型 | 范围 |
整数 | |
bigint | -263 到 263 - 1 (8字节) |
int | -231 到 231 - 1 (4字节) |
smallint | -32768到 32767 (2字节) |
tinyint | 0到 255 (1字节) |
精确数值小数 | |
decimal | - 1038 +1 到 1038 - 1 |
numeric | - 1038 +1 到 1038 - 1 |
浮点数(大致小数) | |
float | -1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308 (取决于n的大小) |
real | -3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38 (4字节) |
表示货币或货币值 | |
money | -922,337,203,685,477.5808 到 922,337,203,685,477.5807(8字节) |
smallmoney | -214,748.3648 到 214,748.3647(4字节) |
布尔类型 | |
bit | 取值为 1、0 或 NULL |
decimal(p,s)和 numeric(p,s):带固定精度和小数位数的数值数据类型,p(精度):要存储的十进制数字的总数上限,包括小数点左右两侧的数,取值为1到38之间,默认为18, s(小数位数):小数点右侧数字的个数,默认为0
float(n):可以大概表示小数,当小数位多的话不能精确表示小数,n:表示存储float数值尾数的位数,取值为1到53之间,默认为53
bit:字符串值 TRUE 和 FALSE 可转换为 bit 值:TRUE 将转换为 1,FALSE 将转换为 0。转换为 bit 会将任何非零值升为 1
二、时间类型
数据类型 | 说明 |
time | 时间24小时制 12:10:20.1234567 |
date | 日期 2020-05-06 |
smalldatetime | 日期和时间 2020-05-06 12:10:20 |
datetime | 日期和时间 2020-05-06 12:10:20.123 |
datetime2 | 日期和时间 2020-05-06 12:10:20.1234567 |
datetimeoffset | 日期和时间 2020-05-06 12:10:20.1234567 |
time(n):定义一天中的某个时间,n:小数点后的位数,取值0到7的整数
datetime2(n):定义结合了 24 小时制时间的日期,n:小数点后的位数,取值0到7的整数
datetimeoffset(n):定义一个与采用 24 小时制并可识别时区的一日内时间相组合的日期。n:小数点后的位数,取值0到7的整数
三、字符串类型
数据类型 | 说明 |
字符串 | |
char | 固定大小字符串数据 |
varchar | 可变大小字符串数据 |
Unicode 字符串 | |
nchar | 固定大小字符串数据 |
nvarchar | 可变大小字符串数据 |
char(n): n 用于定义字符串大小(以字节为单位),并且它必须为 1 到 8,000 之间的值
varchar(n):使用 n 定义字符串大小(以字节为单位),可以是介于 1 和 8,000 之间的值;或使用 max 指明列约束大小上限为最大存储 231-1 个字节 (2GB)
使用 char 或 varchar ,则建议:1、如果列数据项的大小一致,则使用 char 。2、如果列数据项的大小差异相当大,则使用 varchar 。3、如果列数据项大小相差很大,而且字符串长度可能超过 8,000 字节,请使用 varchar(max) 。
nchar( n ):n 用于定义字符串大小(以双字节为单位),并且它必须为 1 到 4,000 之间的值。
nvarchar(n):n 用于定义字符串大小(以双字节为单位),并且它可能为 1 到 4,000 之间的值。 max 指示最大存储大小是 230-1 个字符 (2 GB)。