Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.1.0
-
None
-
None
Description
The main difference is:
- When comparing a StringType value with a NumericType value, Spark converts the StringType data to a NumericType value. But Teradata converts the StringType data to a DoubleType value.
- When comparing a StringType value with a DateType value, Spark converts the DateType data to a StringType value. But Teradata converts the StringType data to a DateType value.
More details:
https://github.com/apache/spark/blob/65a4bc143ab5dc2ced589dc107bbafa8a7290931/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/TypeCoercion.scala#L120-L149
https://www.info.teradata.com/HTMLPubs/DB_TTU_16_00/index.html#page/SQL_Reference/B035-1145-160K/lrn1472241011038.html
Attachments
Issue Links
- is related to
-
SPARK-17913 Filter/join expressions can return incorrect results when comparing strings to longs
- Resolved
-
SPARK-19145 Timestamp to String casting is slowing the query significantly
- Resolved
- relates to
-
SPARK-33459 Commonly used Teradata extension syntax
- Open