SQL2005 Money类型的问题

shulia 2010-03-24 04:55:42
咨询一个关于SQL2005 Money类型的问题
网上查阅了很久,始终找不到答案
我的SQL2005 英文版环境下,导入已有数据库发现原来的Money类型下的数据小数点后位数全部变成2位,而原有的SQL2000下所有的Money类型小数点后长度都是4位,请问这个具体是为什么?现在由于这个问题导致我有些脚本无法顺利执行下去。始终找不到解决方法,请各位大佬帮忙~
...全文
591 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
shulia 2010-04-09
  • 打赏
  • 举报
回复
跟产品工程师沟通了很久,怀疑是windows2003服务器的语言环境设置有问题,正在测试中
  • 打赏
  • 举报
回复
测试环境
declare @ii money
set @ii=3.32432432
print @ii

结果:总结它四舍五入保留两位数
3.32
shulia 2010-03-30
  • 打赏
  • 举报
回复
直接附加或者还原的时候总是报错~ 一直搞不定这个报错信息的问题
shulia 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zywcy100 的回复:]

测试环境
declare @ii money
set @ii=3.32432432
print @ii

结果:总结它四舍五入保留两位数
3.32
[/Quote]
那么这个结果是否与Money型小数点后保留4位相违背?我现在遇到的就是这个问题~
前段展现和数据库中查询结果都是小数点后保留2位,为什么MSDN中清晰描述是保留小数点后4位?
永生天地 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 shulia 的回复:]
具体的方法是我在2005下先创建一个空的数据库,在2000下完整备份数据库数据和share库数据,之后在2005环境中还原,中间没有出现任何错误。只是需要在最后阶段修改一下产品数据库的owner。
[/Quote]
直接附加,或还原

不建议先建空库
jwwyqs 2010-03-24
  • 打赏
  • 举报
回复
很少用money
一直用 decimal(18,n)
黄_瓜 2010-03-24
  • 打赏
  • 举报
回复
对应的列都是money吗?
可能发生了隐式转换,转换成了flaot
shulia 2010-03-24
  • 打赏
  • 举报
回复
具体的方法是我在2005下先创建一个空的数据库,在2000下完整备份数据库数据和share库数据,之后在2005环境中还原,中间没有出现任何错误。只是需要在最后阶段修改一下产品数据库的owner。
ws_hgo 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shulia 的回复:]
不好意思,这是一个第三方的产品数据库,我可能没这么大的权限去该数据库类型或者是长度,有别的方法或者解决方案吗?
[/Quote]


添加一列将这个money型转到新增加的一列上面进行处理
pl_mm 2010-03-24
  • 打赏
  • 举报
回复
不会吧
2005也是精确4位
ws_hgo 2010-03-24
  • 打赏
  • 举报
回复
只能把sql2005往下面sql2000导入
shulia 2010-03-24
  • 打赏
  • 举报
回复
不好意思,这是一个第三方的产品数据库,我可能没这么大的权限去该数据库类型或者是长度,有别的方法或者解决方案吗?
ws_hgo 2010-03-24
  • 打赏
  • 举报
回复
你的机器上面是sql2000的money导入到sql2005的报错吗
sql2000不能像上面导入
--小F-- 2010-03-24
  • 打赏
  • 举报
回复
cast(money字段 as int)
ws_hgo 2010-03-24
  • 打赏
  • 举报
回复

declare @mm money
set @mm=12.0003
select @mm
--小F-- 2010-03-24
  • 打赏
  • 举报
回复
money可以转换为int

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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