Зачем выбирать отдельные значения с 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.

Кто-нибудь может подтвердить мою догадку? Спасибо!

0 ответов

Другие вопросы по тегам