a:
select csamt/slamt from doc01dt where uid=35348
结果为0.823076923076b:
select round ( csamt/slamt,3) from doc01dt where uid=35348
结果为0.823000000000本来想取a结果的小数点后三位(如b查询)但是后面出现了很多零,怎么把后面的0去了??????
select csamt/slamt from doc01dt where uid=35348
结果为0.823076923076b:
select round ( csamt/slamt,3) from doc01dt where uid=35348
结果为0.823000000000本来想取a结果的小数点后三位(如b查询)但是后面出现了很多零,怎么把后面的0去了??????
解决方案 »
- C#DataGrid绑定数据,做判断的问题,求教
- 100分求救SQL查询
- 数据库存储文件
- 有没有哪位做过这样的,job在创建的时候让它先执行一遍
- [散点分,最近几天比较忙,没有时间逛csdn] 顺便留个问题大家讨论一下,谢谢[多用户下取得最大值(ID)的解决方案]
- 如何将某一数据库中的存储过程导入另外一个数据库中?
- 2个条件 查2个表 怎么整合到一句?
- 关于FOXPRO中表格的问题
- 朋友,走过、路过,千万不要错过
- sp_addlinkedserver时连不通远程数据库,请高手帮忙
- =====>>>>>>>>>>>>>>>>>>>>问sql语句如何写<<<<<<<<<<<<<========
- 数据库登陆问题
set @a=0.823076923076
select cast(str(@a,20,3) as numeric(20,3))
/*
----------------------
.823(所影响的行数为 1 行)
*/
set @a=0.823076923076
select cast(@a as numeric(20,3))
set @a=0.823076923076
select cast(@a as decimal(18,3))
/*
功能:把Money类型转换成nvarchar类型,保留三位小数,而且把数值后面多余的0去掉。
如money类型的数值2.59100,转化成nvarchar(20)类型时,要求的结果是2.591
如money类型的数值89.7800,转化成nvarchar(20)类型时,要求的结果是89.78
设计:OK_008(DVD)
时间:2006-07
*/
CREATE TABLE #Temp([ID] int ,F1 nvarchar(20),F2 nvarchar(20),SMoney money,Dmoney money)
INSERT INTO #Temp SELECT 1,'F1','F2',45.895,23.89000
UNION SELECT 2,'F2','F3',45.895,234.67
UNION SELECT 3,'F3','F4',25.835,32.123
UNION SELECT 4,'F4','F5',13.7600,31.6754
UNION SELECT 5,'F5','F6',34.783,78.345
/*
要求的结果如下:
SMoney +'X'+ Dmoney
------------------------------------------------------
45.895X23.89
45.895X234.67
25.835X32.123
13.76X31.675
34.783X78.345
*/
SELECT *,cast(SMoney as nvarchar(20)) FROM #Temp
SELECT CAST(CAST(CAST(Smoney AS decimal(20,3)) AS float) as nvarchar)+'X'+
CAST(CAST(CAST(Dmoney AS decimal(20,3)) AS float)AS nvarchar)
FROM #Temp
DROP TABLE #Temp
set @a=0.823076923076
select str(@a,18,3)