MSSQL数据类型及长度限制详细说明

SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。
可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 sp_addtype 和创建用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:
通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。

如果结果数据类型为 char、varchar、text、nchar、nvarchar 或 ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。

结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。

SQL Server 为 SQL-92 兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。
 
 

精确数字
整数
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。
smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。
tinyint 从 0 到 255 的整数数据。
bit
bit 1 或 0 的整数数据。
decimal 和 numeric
decimal 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
numeric 功能上等同于 decimal。

money 和 smallmoney
money 货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 -1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。
smallmoney 货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。

近似数字
float 从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。
real 从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。

datetime 和 smalldatetime
datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。
smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。
 
 

字符串
char 固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。
varchar 可变长度的非 Unicode 数据,最长为 8,000 个字符。
text 可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。
Unicode 字符串
nchar 固定长度的 Unicode 数据,最大长度为 4,000 个字符。
nvarchar 可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。
ntext 可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。

二进制字符串
binary 固定长度的二进制数据,其最大长度为 8,000 个字节。
varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节。
image 可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。

其它数据类型
cursor 游标的引用。
sql_variant
一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。
table
一种特殊的数据类型,存储供以后处理的结果集。
timestamp
数据库范围的唯一数字,每次更新行时也进行更新。
uniqueidentifier
全局唯一标识符 (GUID)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL支持很多种数据类型,包括: 1. 数值类型:整型(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT)、浮点型(FLOAT、DOUBLE、DECIMAL)等。 2. 日期和时间类型:DATE、TIME、DATETIME、TIMESTAMP、YEAR等。 3. 字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB等。 4. 枚举类型:ENUM。 5. 集合类型:SET。 每种数据类型都有自己的长度限制,具体如下: 1. 整型:TINYINT(1字节)、SMALLINT(2字节)、MEDIUMINT(3字节)、INT(4字节)、BIGINT(8字节)。 2. 浮点型:FLOAT(4字节)、DOUBLE(8字节)、DECIMAL(可变长度)。 3. 日期和时间类型:DATE(3字节)、TIME(3字节)、DATETIME(8字节)、TIMESTAMP(4字节)、YEAR(1字节)。 4. 字符串类型:CHAR(可变长度,最大255字节)、VARCHAR(可变长度,最大65535字节)、TINYTEXT(最大255字节)、TEXT(最大65535字节)、MEDIUMTEXT(最大16777215字节)、LONGTEXT(最大4294967295字节)、BINARY(可变长度,最大255字节)、VARBINARY(可变长度,最大65535字节)、TINYBLOB(最大255字节)、BLOB(最大65535字节)、MEDIUMBLOB(最大16777215字节)、LONGBLOB(最大4294967295字节)。 5. 枚举类型:ENUM(可变长度,最大65535字节)。 6. 集合类型:SET(可变长度,最大64字节)。 需要注意的是,MySQL中字符串类型的长度表示的是字符数,而不是字节数。在使用字符串类型时,应该根据实际情况选择合适的长度,以免浪费空间或者导致数据截断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值