sql server 中实现保留5为小数,不足补0

背景:由于项目中用户有一个需求,就是对经纬度这种比较长的数据需要保留5位小数,不足5位小数补0.

比如说:【114.140799999999999 ,30.381399999999999】这一组经纬度需要转化为【114.14079,30.38139】 or 【114.1407,30.381】这一组经纬度需要转化为【114.14070,30.38100】。

像这种放在C#或者js中已经实现了。

下面介绍在sql中如何实现:

实现思路:将目标经纬度通过CAST函数转化为字符串,然后根据你需要保留的小数位拼接多少个‘0’。在通过LEFT函数截取8-9位即可。


select LEFT(CAST((123.32888888823123412) AS nvarchar(50))+'00000',9)

 

select LEFT(CAST((123.32) AS nvarchar(50))+'00000',9)

 

猜你喜欢

转载自blog.csdn.net/qq_26695613/article/details/129011693