sqlserver中的decimal的用法

xingfudehunpo 2012-04-25 02:56:38
自己写了有如下代码
CREATE TABLE test(
num decimal(3,2)
)
GO

INSERT INTO test VALUES(2.247)
INSERT INTO test VALUES(13.5)
INSERT INTO test VALUES(4.347)
INSERT INTO test VALUES(5.147)

但是第二条数据无法正常插入,请问decimal的两个参数具体是什么用法啊?
...全文
3267 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
billpu 2012-04-26
  • 打赏
  • 举报
回复
decimail是个可变长的字段,前面那个是总长度,后面的是小数长度
decimail(3,2)就是只允许a.bc这样13.5会计算为13.50,所以明显超过了长度
gogodiy 2012-04-26
  • 打赏
  • 举报
回复
alter table test alter column num decimal(4,2)
xuam 2012-04-25
  • 打赏
  • 举报
回复
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
xuam 2012-04-25
  • 打赏
  • 举报
回复
INSERT INTO test VALUES(13.50)

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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