decimal(18,4)同decimal(19,1) 之间的区别

zhengyingcan 2011-01-03 10:01:57
decimal(18,4)同decimal(19,1) 之间的区别是什么
我在SQL 里面 用的是 decimal(18,4),但是变理定义的时候,为什么大家都喜欢 用decimal(19,1),我有点晕了
...全文
11176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nice 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]

引用楼主 zhengyingcan 的回复:
decimal(18,4)同decimal(19,1) 之间的区别是什么
我在SQL 里面 用的是 decimal(18,4),但是变理定义的时候,为什么大家都喜欢 用decimal(19,1),我有点晕了

1.Decimal 数据包含存储在最小有效数上的数据。在 SQL Server中,小数数据使用 decimal 或 numeric 数……
[/Quote]

abuying 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zishuchen 的回复:]

精度不同,一个是小数点后面精确4位,一个是精确1位
注意的是decimal(18,4)总长18位,包括1位小数点和4为小数,也就是说18-1-4=13整数位只有13位
decimal(19,1)总长19位,17位整数,1位小数
[/Quote]
正解!
数据范围不同的!
不过,建议使用两位小数!
zishuchen 2011-01-03
  • 打赏
  • 举报
回复
精度不同,一个是小数点后面精确4位,一个是精确1位
注意的是decimal(18,4)总长18位,包括1位小数点和4为小数,也就是说18-1-4=13整数位只有13位
decimal(19,1)总长19位,17位整数,1位小数
dawugui 2011-01-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhengyingcan 的回复:]
decimal(18,4)同decimal(19,1) 之间的区别是什么
我在SQL 里面 用的是 decimal(18,4),但是变理定义的时候,为什么大家都喜欢 用decimal(19,1),我有点晕了
[/Quote]
1.Decimal 数据包含存储在最小有效数上的数据。在 SQL Server中,小数数据使用 decimal 或 numeric 数据类型存储。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和小数点右边的小数位数。

2.decimal(18,4),decimal(19,1),两者能保存的整数位和小数位不同.
create table tb(val1 decimal(18,4) , val2 decimal(19,1))
go

insert into tb values(1234567890123.1234 , 12345678901234567.1)

select * from tb

drop table tb

/*
val1 val2
-------------------- ---------------------
1234567890123.1234 12345678901234567.1

(所影响的行数为 1 行)
*/
飘零一叶 2011-01-03
  • 打赏
  • 举报
回复
declare @a decimal(18,4)
declare @b decimal(19,1)
set @a=19.1
set @b=19.1
select @a,@b
--decimal(18,4) 18位小数点后面4位
--decimal(19,1) 19位小数点后面1位
-----------
(无列名) (无列名)
19.1000 19.1

34,594

社区成员

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

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