java - 如何舍入 Spark sql 中的值
问题描述
我正在使用以下查询查询 postgres sql。我 需要四舍五入min(months_between(current_date,somedate))
例如:13.83
应该是13
而不是14
,甚至13.9
应该13
也是。是否有任何函数可以将这个值四舍五入sparksql
?任何帮助将不胜感激。
解决方案
您可以使用该floor()
功能。它四舍五入了它的论点。
请注意,floor(x)
给出最大整数≤x。所以floor(5.8)
返回 5,但floor(-5.8)
返回 -6。如果您的值可能是负数并且您想将它们四舍五入为 0,则必须测试它们的符号并使用floor()
或ceil()
(四舍五入到上限值)。
int()
另请注意,无论其符号如何,将浮点数转换为 int都会将其舍入为零。不确定 spark-sql 中的实际行为,但它也可以解决您的问题。
推荐阅读
- security - 如何安全地允许 Github Actions 检查 PR 并在评论中发布结果
- css - CSS ::before 伪元素不尊重 z-index 堆叠上下文
- vue.js - 使用 vuex 的列表搜索栏
- angular - 开关图内开关盒的角度单元测试不起作用
- azure-data-lake - 在 U-SQL 中读取文件时如何指定通配符路径
- python - 根据条件停止循环
- tabulator - 制表符:titleFormatter:单击标题时选择所有复选框时的“rowSelection”
- elasticsearch - 如何锁定应用程序仅访问特定的索引列表?
- ffmpeg - 在使用 ffmpeg drawtext 的多行文本的情况下,我们如何在框中实现 textAlign="center"?
- javascript - 如何让球从画布上水平反弹