如题所述
tinyint (Transact-SQL)
tinyint 使用整数数据的精确数字数据类型,范围 0 到 255,存储 1 字节
注意:使用 +、-、*、/ 或 % 等算术运算符将 int、smallint、tinyint 或 bigint 常量值隐式或显式转换为 float、real、decimal 或 numeric 数据类型时,SQL Server 计算数据类型和表达式结果的精度时应用的规则有所不同,这取决于查询是否是自动参数化的。
因此,查询中的类似表达式有时可能会生成不同的结果。如果查询不是自动参数化的,则将常量值转换为指定的数据类型之前,首先将其转换为 numeric,该数据类型的精度很大足以保存常量的值。例如,常量值 1 转换为 numeric (1, 0),常量值 250 转换为 numeric (3, 0)。
参考:http://msdn.microsoft.com/zh-cn/library/ms187745.aspx
tinyint(n)
圆括号是指出最大的显示尺寸 ...
最大的显示尺寸长度为 255 ...
TINYINT 的范围和这个数字没有任何关系 ...
TINYINT(1) 和 TINYINT(100) 的取值范围都是 -128 - 127 ...
==========================================================
如果用 TINYINT 作为主键的话 ... 最大只能存储到 127 ...
也就是最大递增值是 127 ...
如果用 TINYINT UNSIGNED 做主键的话 ... 最大只能存储到 255 ...
参考:http://zhidao.baidu.com/question/13490195.html
tinyint 使用整数数据的精确数字数据类型,范围 0 到 255,存储 1 字节
注意:使用 +、-、*、/ 或 % 等算术运算符将 int、smallint、tinyint 或 bigint 常量值隐式或显式转换为 float、real、decimal 或 numeric 数据类型时,SQL Server 计算数据类型和表达式结果的精度时应用的规则有所不同,这取决于查询是否是自动参数化的。
因此,查询中的类似表达式有时可能会生成不同的结果。如果查询不是自动参数化的,则将常量值转换为指定的数据类型之前,首先将其转换为 numeric,该数据类型的精度很大足以保存常量的值。例如,常量值 1 转换为 numeric (1, 0),常量值 250 转换为 numeric (3, 0)。
参考:http://msdn.microsoft.com/zh-cn/library/ms187745.aspx
tinyint(n)
圆括号是指出最大的显示尺寸 ...
最大的显示尺寸长度为 255 ...
TINYINT 的范围和这个数字没有任何关系 ...
TINYINT(1) 和 TINYINT(100) 的取值范围都是 -128 - 127 ...
==========================================================
如果用 TINYINT 作为主键的话 ... 最大只能存储到 127 ...
也就是最大递增值是 127 ...
如果用 TINYINT UNSIGNED 做主键的话 ... 最大只能存储到 255 ...
参考:http://zhidao.baidu.com/question/13490195.html
温馨提示:答案为网友推荐,仅供参考