数字(共10个)
tinyint
存储空间:1 字节
最小值:0
最大值:255
无符号整数类型,适用于存储较小的数值,如状态码、枚举值等。
典型场景:性别(0/1)、月份(1-12)
smallint
存储空间:2 字节
最小值:-32,768
最大值:32,767
有符号整数类型,适用于存储中等范围的整数,占用空间比 int 小。
典型场景:员工编号、商品数量
int
存储空间:4 字节
最小值:-2,147,483,648
最大值:2,147,483,647
最常用的有符号整数类型,适用于大多数需要存储整数的场景。
典型场景:用户 ID、订单编号
bigint
存储空间:8 字节
最小值:-9,223,372,036,854,775,808
最大值:9,223,372,036,854,775,807
有符号整数类型,适用于存储非常大的整数,占用空间比 int 大。
典型场景:大型数据库的自增主键、全球用户编号
bit
存储空间:1 位
最小值:0
最大值:1
布尔类型,只能存储 0 或 1,用于表示真/假、是/否等逻辑值。
典型场景:用户是否激活、商品是否上架
decimal
存储空间:5 - 17 字节(取决于精度)
最小值:-10^38 +1
最大值:10^38 -1
精确数值类型,适用于需要高精度计算的场景,如财务数据。
典型场景:货币金额、科学计算
real
存储空间:4 字节
最小值:-3.40E + 38
最大值:3.40E + 38
单精度浮点类型,用于存储近似数值,精度相对较低。
典型场景:地理坐标、科学实验数据
float
存储空间:8 字节
最小值:-1.79E + 308
最大值:1.79E + 308
双精度浮点类型,用于存储近似数值,精度比 real 高。
典型场景:金融统计数据、物理模拟
smallmoney
存储空间:4 字节
最小值:-214,748.3648
最大值:214,748.3647
货币类型,用于存储货币值,精度到小数点后 4 位,占用空间比 money 小。
典型场景:小型企业的财务记录
money
存储空间:8 字节
最小值:-922,337,203,685,477.5808
最大值:922,337,203,685,477.5807
货币类型,用于存储货币值,精度到小数点后 4 位。
典型场景:大型企业的财务系统
日期时间(共6个)
date
存储空间:3 字节
最小值:0001-01-01
最大值:9999-12-31
仅存储日期部分,不包含时间,适用于只需要日期信息的场景。
典型场景:出生日期、入职日期
smalldatetime
存储空间:4 字节
最小值:1900-01-01 00:00:00
最大值:2079-06-06 23:59:59
存储日期和时间,精度到分钟,占用空间比 datetime 小。
典型场景:简单的日志记录、小型系统的时间戳
datetime
存储空间:8 字节
最小值:1753-01-01 00:00:00.000
最大值:9999-12-31 23:59:59.997
常用的日期时间类型,存储日期和时间,精度到毫秒。
典型场景:数据库记录的创建时间、订单处理时间
datetime2
存储空间:6 - 8 字节(取决于精度)
最小值:0001-01-01 00:00:00.0000000
最大值:9999-12-31 23:59:59.9999999
增强版的日期时间类型,精度更高,范围更广,可自定义小数精度。
典型场景:需要高精度时间记录的科学实验、金融交易时间
time
存储空间:3 - 5 字节(取决于精度)
最小值:00:00:00.0000000
最大值:23:59:59.9999999
仅存储时间部分,不包含日期,可自定义小数精度。
典型场景:会议时间、营业时间
datetimeoffset
存储空间:10 字节
最小值:0001-01-01 00:00:00.0000000 -14:00
最大值:9999-12-31 23:59:59.9999999 +14:00
存储日期、时间和时区偏移量,适用于处理跨时区的日期时间。
典型场景:国际航班时刻表、全球业务系统的时间记录
字符串(共6个)
char
类型:固定长度
推荐编码:UTF-8、GBK
最大长度:8000 字节
固定长度字符串类型,不足长度时会自动填充空格,适合存储长度固定的数据。
典型场景:身份证号、性别
varchar
类型:可变长度
推荐编码:UTF-8、GBK
最大长度:8000 字节
可变长度字符串类型,仅占用实际存储数据所需的空间,适合存储长度变化较大的数据。
典型场景:用户姓名、商品描述
text
类型:可变长度
推荐编码:UTF-8、GBK
最大长度:2^31 - 1 字节(约 2GB)
用于存储大量文本数据的可变长度字符串类型,适合存储较长的文章、评论等。
典型场景:新闻内容、产品介绍
nchar
类型:固定长度
推荐编码:Unicode(UTF-16)
最大长度:4000 字符
固定长度的 Unicode 字符串类型,不足长度时会自动填充空格,适合存储长度固定的多语言数据。
典型场景:多语言姓名、国际化地址
nvarchar
类型:可变长度
推荐编码:Unicode(UTF-16)
最大长度:4000 字符(如果使用 MAX 关键字则为 2^31 - 1 字符)
可变长度的 Unicode 字符串类型,仅占用实际存储数据所需的空间,适合存储长度变化较大的多语言数据。
典型场景:多语言商品描述、国际化评论
ntext
类型:可变长度
推荐编码:Unicode(UTF-16)
最大长度:2^30 - 1 字符(约 1GB)
用于存储大量 Unicode 文本数据的可变长度字符串类型,适合存储较长的多语言文章、国际化文档等。
典型场景:多语言新闻内容、国际化产品介绍
二进制(共3个)
binary
类型:固定长度
最大长度:8000 字节
固定长度二进制数据类型,不足长度时自动填充0x00,适合存储长度固定的二进制数据。
典型场景:加密密钥、哈希值
varbinary
类型:可变长度
最大长度:8000 字节(如果使用 MAX 关键字则为 2^31 - 1 字节)
可变长度二进制数据类型,仅占用实际存储数据所需的空间,适合存储长度变化较大的二进制数据。
典型场景:图片、音频、视频等多媒体文件的二进制数据
image
类型:可变长度
最大长度:2^31 - 1 字节(约 2GB)
用于存储大量二进制数据的可变长度类型,主要用于存储图像数据,但也可存储其他二进制数据。
典型场景:数据库中的图片存储、扫描文档的二进制表示