convert(varchar)的问题 我在转换一个decimal的列的时候,会将小数位取舍掉,如何保留小数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 cast(列 as decimal(18,2)) ,后面表示小数位数 declare @dec dec(10,2)set @dec=12.34;select convert(varchar,@dec)------------------------------ 12.34可以保留啊 declare @str varchar(10)set @str='12.34';select convert(dec(10,2),@str)------------------------------ 12.34 declare @dec realset @dec=312296.5;select convert(varchar,@dec)试试这个 declare @dec realset @dec=312296.5;select convert(varchar,@dec)这样它就回舍去小数位了 declare @dec dec(18,1)set @dec=312296.5;select convert(varchar,@dec)------------------------------ 312296.5 declare @dec realset @dec=312296.5;select convert(nvarchar(20),cast(@dec as numeric(18,1))) declare @dec realset @dec=312296.5;select convert(varchar,convert(dec(10,2),@dec)) 呵呵,我其实也是用这种方法的,当我看到real和decimal有区别的时候我就知道肯定是这个问题,但问题是,如果不确定@dec的值的话,有什么好的方法就是取出原数字,原封不动得拿出来? declare @dec real set @dec=312296.5; select convert(varchar,convert(dec(10,2),@dec)) 或用decimal(18,1) 指定日期的3天前是什么日期 用inserted表跟踪数据 为什么只是接受1啊 急!!!! 帮我看看这个存储过程创建一个修改更新的字符串语句该怎么做!谢谢! 求存储过程 如何实现定时更新数据库 请解释这几个选项的作用 distinct 打算给一家注册资本5000万的做客户管理系统,你认为这个系统收他多少钱? 请关注 sql2000老是自动停止 存储过程求助 关于 Set Nocount On 的奇怪的问题
set @dec=12.34;
select convert(varchar,@dec)------------------------------
12.34可以保留啊
declare @str varchar(10)
set @str='12.34';
select convert(dec(10,2),@str)------------------------------
12.34
declare @dec real
set @dec=312296.5;
select convert(varchar,@dec)试试这个
declare @dec real
set @dec=312296.5;
select convert(varchar,@dec)这样它就回舍去小数位了
set @dec=312296.5;
select convert(varchar,@dec)------------------------------
312296.5
set @dec=312296.5;
select convert(nvarchar(20),cast(@dec as numeric(18,1)))
set @dec=312296.5;
select convert(varchar,convert(dec(10,2),@dec))
set @dec=312296.5;
select convert(varchar,convert(dec(10,2),@dec)) 或用decimal(18,1)