首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

有三位以下小数的money类型转Varchar的有关问题

2012-09-21 
有三位以上小数的money类型转Varchar的问题SQL codecreate proc wf(@num1 money)asbeginselect cast(@num1

有三位以上小数的money类型转Varchar的问题

SQL code
create proc wf(@num1 money)asbeginselect cast(@num1 as varchar)end

创建上边这个简单的存储过程后
exec wf 0.024
执行一下,得到结果
0.02
怎么处理能获得完整的数据?

[解决办法]
不是转化问题吧。而是money就只有两位小数,
你用一个精度高一点的类型就可以了
如 decimal(20,5) 
这样就能转化出来了。menoy貌似是decimal(9,2)
[解决办法]
select 
convert(varchar(30),@num1 ,0)
[解决办法]
可进行如下处理
SQL code
select cast(convert(float,@num1) as varchar(10))--orselect cast(convert(decimal(18,3),@num1) as varchar(10))
[解决办法]
探讨

select
convert(varchar(30),@num1 ,0)

[解决办法]
SQL code
-- 保留四位ALTER  proc wf(@num1 money)asbeginselect convert(VARCHAR(10),@num1 ,126)end
[解决办法]
探讨

引用:

select
convert(varchar(30),@num1 ,0)


0 改成1 还有三位一瞥的功效

[解决办法]
cast((cast(@num1 as numeric(18, 4))) as varchar)

热点排行