money 保留的精度问题

zpcoder 2008-12-30 10:43:07
我的数据库中有大多表的字段都设为 money (因为要记录价格)
money默认保留4位小数,如何让它只保留两位(后面的自动四舍五入)

我知道numeric类型呆以自已定义,但表太多money的了段又设得太多
我怕改漏掉了部分。而且很多存储过程中的参数也是定义成了money
我怕存储过程 和 从A表插入到B表时都有错误

请大家指点,谢谢
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpcoder 2008-12-30
  • 打赏
  • 举报
回复
我这样子了,呵呵


sp_configure 'allow updates', 1

RECONFIGURE WITH OVERRIDE
update syscolumns set xscale=2 where xusertype=60


select * from dbo.syscolumns where xusertype=60
zpcoder 2008-12-30
  • 打赏
  • 举报
回复

怎么用T-SQL 把所有的表的所有 money 类型的改成 numeric(16,2)

最好把存储过程也能改掉
水族杰纶 2008-12-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zpcoder 的回复:]

那岂不是所有的地方都要转换?
[/Quote]
生成腳本,到記事本用替換看看~
zpcoder 2008-12-30
  • 打赏
  • 举报
回复

那岂不是所有的地方都要转换?
dawugui 2008-12-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 zpcoder 的帖子:]
我的数据库中有大多表的字段都设为 money (因为要记录价格)
money默认保留4位小数,如何让它只保留两位(后面的自动四舍五入)

我知道numeric类型呆以自已定义,但表太多money的了段又设得太多
我怕改漏掉了部分。而且很多存储过程中的参数也是定义成了money
我怕存储过程 和 从A表插入到B表时都有错误

请大家指点,谢谢
[/Quote]
如果money型,就是四位小数.可以考虑通过转换类型来达到你的要求.
水族杰纶 2008-12-30
  • 打赏
  • 举报
回复
只能修改或者轉換了
nalnait 2008-12-30
  • 打赏
  • 举报
回复

--还是用类型转换吧
declare @m money
set @m=3.445444
select @m,round(@m,2)

34,588

社区成员

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

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