SQL语句:
SELECT 'true' = true;
我知道结果是真的,但我想知道Spark是如何比较这两者的:
- 将true强制转换为“true”,然后只比较两个字符串类型。
- 将“true”强制转换为true,然后比较两个布尔类型。
Spark使用哪种方式?
当比较日期和字符串或时间戳和字符串时,也会发生同样的情况:
SELECT '2022-01-02' > date('2022-01-03');
SELECT '2022-08-12 01:00:00.123456' < timestamp('2019-08-12 01:00:00.123456');
我是Spark的新手,提前感谢!
1条答案
按热度按时间bjp0bcyl1#
最简单的学习方法是让Spark解释这个计划。
我们可以清楚地看到,在所有情况下,Spark都试图将string转换为其他类型(boolean、date、timestamp、int ......)。