SQL 中关于截取小数点后面位数的问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 13:44:02
我要让某个字段小数点后面都保留四位的,而且不能四舍五入,如数值15.14798 我要得到15.1479,请问怎么实现,谢谢大家!
回复一楼:
若字段值为1.14798,该方法就不管用了,问题在于怎样保证截取小数点后四位,又不四舍五入

回复二楼:
能不能直接用SQL SERVER 中自带的函数处理呀,不写自定义函数?用CAST ROUND 都会四舍五入呀

回复三楼:
这个方法得到的数值是没问题,但是数据类型改变了,原来是DECIMAL类型变成VARCHAR类型了

给你个简单的吧
select left(cast(1.7455 as varchar(50)) , charindex('.',cast(1.7455 as varchar(50))) + 2)

sunshine66 的最后一步有问题 substr(to_char(15.14798),1,7) 如何知道小数点前面就只有2位呢

Public Function GetVal(X as Single,n as integer) as single
GetVal=int(X*(10^n))/(10^n)
end function

其中n是你要取的小数位数, X是你要取的值

可以先to_char成字符串,然后再substr取位数
比如这个就是substr(to_char(15.14798),1,7)