Databricks SQL CONCAT函数在未请求的位置添加字符



我正在尝试使用CONCAT函数来连接Databricks SQL中的两列。但是,当我尝试使用它时,CONCAT函数会在第二列的值前面加上.0。例如,我的数据如下:
ColA ColB
10001 25678
18921 25678
27331 89011

我的查询如下:

`SELECT cola, colb, CONCAT(cola, colb) AS colc
FROM <parquet table in question>`

我期待的结果是
ColA ColB ColC
10001 25678 1000125678
18921 25678 1892125678
27331 89011 2733189011

但我得到的却是:


ColA ColB ColC
10001 25678 10001.025678.0
18921 25678 18921.025678.0
27331 89011 27331.089011.0

为什么CONCAT要加这些零和小数点?我曾认为这可能与我使用整数的事实有关,但我使用w3schools.com的交互式命令运行器测试了它的concat函数,它在那里连接得很好。关于concat函数,我遗漏了什么?

虽然我没有用SQL直接解决这个问题,但我确实用SparkR解决了这个问题,并得到了我发布的一个相关问题的另一个答案的帮助(有没有一种更节省内存的方法来连接SparkR中的两列?(我认为这个问题是一个类型错误。我认为连接的两列被转换为双精度,因此它们被添加了小数点。解决方案是将它们强制转换为字符串或int以去掉小数。

最新更新