在SQL Server企业资源管理器中,如何改变smallint,int类型字段的数据长度?

everydayniceday 2003-02-22 04:41:25
比如将smallint类型字段长度从2改成9,将int类型字段长度从4改为9?
能否可以在可视化环境下改变字段长度?
...全文
364 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CoolAbu 2003-02-22
  • 打赏
  • 举报
回复
可以自定义数据类型

自定义一个你想要长度的数据类型
pengdali 2003-02-22
  • 打赏
  • 举报
回复
declare @a numeric(20,5)
set @a=100000.45
select @a
pengdali 2003-02-22
  • 打赏
  • 举报
回复
如:
declare @a numeric(38)
set @a=1000000000000000000000000000000000
select @a
pengdali 2003-02-22
  • 打赏
  • 举报
回复
decimal 和 numeric
带定点精度和小数位数的 numeric 数据类型。

decimal[(p[, s])] 和 numeric[(p[, s])]

定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。

p(精度)

指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。

s(小数位数)

指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。

精度 存储字节数
1 - 9 5
10-19 9
20-28 13
29-38 17
everydayniceday 2003-02-22
  • 打赏
  • 举报
回复
那么numeric类型的字段呢?
pengdali 2003-02-22
  • 打赏
  • 举报
回复
int、bigint、smallint 和 tinyint
使用整数数据的精确数字数据类型。

bigint

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

int

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

smallint

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

注释
在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。

在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。

只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。
pengdali 2003-02-22
  • 打赏
  • 举报
回复
如果可变那还要两个类型干嘛!
但楼主的理解有错!那是字节数不是字符数

declare @a int
set @a=1111111
select @a
pengdali 2003-02-22
  • 打赏
  • 举报
回复
不行!int和smallint的字节数是定死的!

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧