背景:由于项目中用户有一个需求,就是对经纬度这种比较长的数据需要保留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)