Как соединить (сравнить) два столбца данных, которые относятся к типам String и Double соответственно в Alibaba MaxCompute? - PullRequest
0 голосов
/ 30 декабря 2018

У меня нет прав для доступа к деталям таблицы.

Например, давайте рассмотрим пример:

Я пытаюсь соединить два столбца типов данных String и Double соответственно в Alibaba MaxCompute.

В более ранней версииТипы данных 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?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Я немного покопался, и кажется, что эта команда SQL - рекомендуемый способ обойти эту проблему.

select * from t1 join t2 on t.double_value = cast(t2.string_value as double);
0 голосов
/ 30 декабря 2018

Как следует из сообщения об ошибке:

SELECT *
FROM t1 JOIN
     t2
     ON CAST(t1.double_value as string) = t2.string_value;
...