Зачем выбирать отдельные значения с presto, противоречащие неявному преобразованию prestosql
Случай 1:
Select distinct id,datetime from db where id='1234567890123456789'
Если я сделаю этот запрос в case1, когда тип данных id - bigint, я получу другой результат (результат отсутствует в базе данных, поэтому это не вопрос точности), который не соответствует моему предложению where, результат равен
cast(cast(id as double) as bigint)
если переключиться на (без четкости)
case2:
Select id,datetime from db where id='1234567890123456789'
тогда мы получаем точное совпадение.
Интересно, влияет ли в case1 при запросе неявное преобразование в presto sql на необработанные данные с помощью отдельной функции (которая будет выполняться дважды), но без отличия, единственное влияние - точность сопоставления. Это может повториться, если вы выберете более 2 значений (не значение раздела) в среде presto.
Кто-нибудь может подтвердить мою догадку? Спасибо!