首页 > 解决方案 > 如何在databricks中截断小数位而不在databricks中四舍五入?

问题描述

select truncate(12.455555,2)

我试图从数据块中截断数据库中的十进制值,但它给了我以下错误。当我尝试执行一个简单的语句来修剪上面给出的小数位时,它给出了同样的错误。

错误-

SQL 语句中的错误:AnalysisException:未定义函数:“截断”。该函数既不是注册的临时函数,也不是在数据库“默认”中注册的永久函数。第 1 行第 7 行

谁能告诉我如何在不四舍五入的情况下截断小数位?

标签: sqlpysparkapache-spark-sqldatabricks

解决方案


您可以使用substring.

spark.sql("select substring(12.455555,0, instr(12.455555,'.')+2) as out").show()

+-----+
|  out|
+-----+
|12.45|
+-----+

推荐阅读