开发者社区 > 数据库 > 数据仓库 > 正文

云数据仓库ADBadb里round 的语法和mysql不一样是吗?

云数据仓库ADBadb里round 的语法和mysql不一样是吗?1216063.81944444525 这串数字我用 round(xx,0) 来提取,给我的结果是 1216064.00000000000,小数点后面的数字去不掉的么?

展开
收起
青城山下庄文杰 2023-10-16 20:56:32 70 0
4 条回答
写回答
取消 提交回答
  • 是的,云数据仓库ADB Adb中round函数的语法和MySQL不一样。在ADB中,使用round函数进行四舍五入时,需要指定保留的小数位数。例如,如果您想将数字1216063.81944444525四舍五入到小数点后两位,可以使用以下语法:

    round(1216063.81944444525, 2)
    

    这将返回结果1216063.82。请注意,ADB中的round函数默认使用标准SQL的舍入模式,即四舍五入到最接近的整数。因此,如果您想要保留小数点后的数字,请确保指定正确的小数位数。

    2023-10-31 23:36:06
    赞同 展开评论 打赏
  • 可以参考这个文档:https://help.aliyun.com/zh/analyticdb-for-mysql/developer-reference/numeric-functions?spm=a2c4g.11186623.0.i17#section-qve-w3z-483 此回答整理自钉群“云数据仓库ADB-开发者群”

    2023-10-17 19:27:17
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,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位。

    2023-10-17 17:01:24
    赞同 展开评论 打赏
  • 是的,云数据仓库ADB的round函数语法和MySQL有所不同。在云数据仓库ADB中,round函数的语法为round(number,places),其中number是要四舍五入的数字,places是要保留的小数位数。例如,如果您想要将1216063.81944444525四舍五入到整数,可以使用round(1216063.81944444525,0)。
    另外,您提到的小数点后面的数字去不掉的问题,是因为在云数据仓库ADB中,round函数默认四舍五入的精度为6位。如果您希望保留更多的小数位数,可以将places参数设置为更大的值。例如,如果您希望保留两位小数,可以使用round(1216063.81944444525,2)。

    2023-10-16 21:41:27
    赞同 展开评论 打赏

热门讨论

热门文章

相关电子书

更多
基于阿里云MaxCompute构建企业云数据仓库CDW的最佳实践建议 立即下载
PostgresChina2018_陶征霖_新一代数据仓库OushuDB架构剖析 立即下载
MaxCompute数据仓库数据转换实践 立即下载

相关镜像