sql - 如何在databricks中截断小数位而不在databricks中四舍五入?
问题描述
select truncate(12.455555,2)
我试图从数据块中截断数据库中的十进制值,但它给了我以下错误。当我尝试执行一个简单的语句来修剪上面给出的小数位时,它给出了同样的错误。
错误-
SQL 语句中的错误:AnalysisException:未定义函数:“截断”。该函数既不是注册的临时函数,也不是在数据库“默认”中注册的永久函数。第 1 行第 7 行
谁能告诉我如何在不四舍五入的情况下截断小数位?
解决方案
您可以使用substring
.
spark.sql("select substring(12.455555,0, instr(12.455555,'.')+2) as out").show()
+-----+
| out|
+-----+
|12.45|
+-----+
推荐阅读
- python - 使用python将pdf转换为png(没有pdf2image)
- node.js - 节点 16.11.1 和 npm 8.0.0 npm 错误!代码 ECONNRESET corp 代理
- reactjs - axios 删除和放置请求 - 404 错误
- python - 从一个函数中读取多个数据帧
- excel - 使用visual basic读取excel媒体文件夹中的图像
- angular - 如何提高项目> 100000的离子应用程序的性能?
- c++ - ROS2 rviz2 可停靠面板插件
- java - 理解连续子数组和的问题
- java - Javafx 可观察的值列表,这些值本身是可观察的?
- bazel - 如何验证 BAZEL 项目的正确性?