SQL Server2000的问题,进来看看。谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:42:18
Select round(convert(numeric(9,2),datediff(month,'2006-04-01','2008-01-01'))/12,1)
结果是:1.800000

怎样才能把结果输出为:1.8

别说只截取前三个字符哦,以后计算出来的可能是10.80000呢。明白吧?谢谢!
因为你round 的参数是1所有只有小数点以后一位 可以如下处理 有点长自己看下
SELECT left(round(convert(numeric(9,2),datediff(month,'2006-04-01','2008-01-01'))/12,1),charindex('.',round(convert(numeric(9,2),datediff(month,'2006-04-01','2008-01-01'))/12,1))+1)

呵呵,这个不行啦.你试一下把'2006-04-01'改为'1991-04-01'就知道了.

有什么问题呢 Select round(convert(numeric(9,2),datediff(month,'1991-04-01','2008-01-01'))/12,1) 返回16.800000
我给你的这个 改掉返回 16.8
我不理解有什么不对的

因为你round 的参数是1所有只有小数点以后一位 可以如下处理 有点长自己看下
SELECT left(round(convert(numeric(9,2),datediff(month,'2006-04-01','2008-01-01'))/12,1),charindex('.',round(convert(numeric(9,2),datediff(month,'2006-04-01','2008-01-01'))/12,1))+1)

截取字符, 截小数点后一位,如果有小数点,

用四舍五入函数!