Alibaba MaxCompute如何Join(equal)两个分别属于String和Double类型的数据列?
How to Join (equal) two data columns that belongs to the String and Double types respectively in Alibaba MaxCompute?
我无权分享 table 详细信息。
例如,让我考虑一个例子:
我想在Alibaba MaxCompute中分别连接String和Double数据类型的两列。
在MaxCompute早期版本中,String和Double数据类型转换为bigint数据类型是以牺牲精度为代价的。 1.1 = 加入条件中的“1”。
而同样的代码在新版本的MaxCompute中不起作用。代码语法如下:
SELECT * FROM t1 JOIN t2 ON t1.double_value = t2.string_value;
错误:
WARNING:[1,48] implicit conversion from STRING to DOUBLE, potential data loss, use CAST function to suppress
在 Alibaba MaxCompute V2 中进行连接操作的正确语法是什么?
如错误信息所示:
SELECT *
FROM t1 JOIN
t2
ON CAST(t1.double_value as string) = t2.string_value;
我做了一些挖掘,似乎这个 SQL 命令是解决这个问题的推荐方法。
select * from t1 join t2 on t.double_value = cast(t2.string_value as double);
我无权分享 table 详细信息。
例如,让我考虑一个例子:
我想在Alibaba MaxCompute中分别连接String和Double数据类型的两列。
在MaxCompute早期版本中,String和Double数据类型转换为bigint数据类型是以牺牲精度为代价的。 1.1 = 加入条件中的“1”。
而同样的代码在新版本的MaxCompute中不起作用。代码语法如下:
SELECT * FROM t1 JOIN t2 ON t1.double_value = t2.string_value;
错误:
WARNING:[1,48] implicit conversion from STRING to DOUBLE, potential data loss, use CAST function to suppress
在 Alibaba MaxCompute V2 中进行连接操作的正确语法是什么?
如错误信息所示:
SELECT *
FROM t1 JOIN
t2
ON CAST(t1.double_value as string) = t2.string_value;
我做了一些挖掘,似乎这个 SQL 命令是解决这个问题的推荐方法。
select * from t1 join t2 on t.double_value = cast(t2.string_value as double);