[ https://issues.apache.org/jira/browse/SPARK-23549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16622958#comment-16622958 ]
Apache Spark commented on SPARK-23549: -------------------------------------- User 'rxin' has created a pull request for this issue: https://github.com/apache/spark/pull/22508 > Spark SQL unexpected behavior when comparing timestamp to date > -------------------------------------------------------------- > > Key: SPARK-23549 > URL: https://issues.apache.org/jira/browse/SPARK-23549 > Project: Spark > Issue Type: Bug > Components: SQL > Affects Versions: 1.6.3, 2.0.2, 2.1.2, 2.2.1, 2.3.0 > Reporter: Dong Jiang > Assignee: Kazuaki Ishizaki > Priority: Major > Fix For: 2.4.0 > > > {code:java} > scala> spark.version > res1: String = 2.2.1 > scala> spark.sql("select cast('2017-03-01 00:00:00' as timestamp) between > cast('2017-02-28' as date) and cast('2017-03-01' as date)").show > +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ > |((CAST(CAST(2017-03-01 00:00:00 AS TIMESTAMP) AS STRING) >= > CAST(CAST(2017-02-28 AS DATE) AS STRING)) AND (CAST(CAST(2017-03-01 00:00:00 > AS TIMESTAMP) AS STRING) <= CAST(CAST(2017-03-01 AS DATE) AS STRING)))| > +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ > | > > false| > +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+{code} > As shown above, when a timestamp is compared to date in SparkSQL, both > timestamp and date are downcast to string, and leading to unexpected result. > If run the same SQL in presto/Athena, I got the expected result > {code:java} > select cast('2017-03-01 00:00:00' as timestamp) between cast('2017-02-28' as > date) and cast('2017-03-01' as date) > _col0 > 1 true > {code} > Is this a bug for Spark or a feature? -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org