云数据仓库ADBadb里round 的语法和mysql不一样是吗?1216063.81944444525 这串数字我用 round(xx,0) 来提取,给我的结果是 1216064.00000000000,小数点后面的数字去不掉的么?
是的,云数据仓库ADB Adb中round函数的语法和MySQL不一样。在ADB中,使用round函数进行四舍五入时,需要指定保留的小数位数。例如,如果您想将数字1216063.81944444525四舍五入到小数点后两位,可以使用以下语法:
round(1216063.81944444525, 2)
这将返回结果1216063.82。请注意,ADB中的round函数默认使用标准SQL的舍入模式,即四舍五入到最接近的整数。因此,如果您想要保留小数点后的数字,请确保指定正确的小数位数。
可以参考这个文档:https://help.aliyun.com/zh/analyticdb-for-mysql/developer-reference/numeric-functions?spm=a2c4g.11186623.0.i17#section-qve-w3z-483 此回答整理自钉群“云数据仓库ADB-开发者群”
是的,DataWorks中的round函数和MySQL的round函数语法是不一样的。在DataWorks中,round函数的语法如下:
round(x, d),其中x是需要处理的数,d是指保留几位小数。
如果您想将1216063.81944444525四舍五入到整数,可以使用以下代码:
round(1216063.81944444525, 0)
这将返回1216064,因为小数点后的数字被四舍五入到0。
如果您想将1216063.81944444525四舍五入到两位小数,可以使用以下代码:
round(1216063.81944444525, 2)
这将返回1216063.82,因为小数点后的数字被四舍五入到2位。
是的,云数据仓库ADB的round函数语法和MySQL有所不同。在云数据仓库ADB中,round函数的语法为round(number,places),其中number是要四舍五入的数字,places是要保留的小数位数。例如,如果您想要将1216063.81944444525四舍五入到整数,可以使用round(1216063.81944444525,0)。
另外,您提到的小数点后面的数字去不掉的问题,是因为在云数据仓库ADB中,round函数默认四舍五入的精度为6位。如果您希望保留更多的小数位数,可以将places参数设置为更大的值。例如,如果您希望保留两位小数,可以使用round(1216063.81944444525,2)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。