You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Utkarsh Agarwal (Jira)" <ji...@apache.org> on 2020/11/09 23:43:00 UTC

[jira] [Created] (SPARK-33404) "date_trunc" expression returns incorrect results

Utkarsh Agarwal created SPARK-33404:
---------------------------------------

             Summary: "date_trunc" expression returns incorrect results
                 Key: SPARK-33404
                 URL: https://issues.apache.org/jira/browse/SPARK-33404
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 3.0.1, 3.0.0
            Reporter: Utkarsh Agarwal
             Fix For: 3.1.0


`date_trunc` SQL expression returns incorrect results for {{minute}} formatting string.

Context: The {{minute}} formatting string should truncate the timestamps such that the seconds is set to ZERO.

Repro (run the following commands in spark-shell):
{quote}
spark.conf.set("spark.sql.session.timeZone", "America/Los_Angeles")
spark.sql("SELECT date_trunc('minute', '1769-10-17 17:10:02')").show()
{quote}

Spark currently incorrectly returns 
{quote}
1769-10-17 17:10:02
{quote}
against the expected return value of 
{quote}
1769-10-17 17:10:00
{quote}
This happens as {{truncTimestamp}} in package {{org.apache.spark.sql.catalyst.util.DateTimeUtils}} incorrectly assumes that time zone offsets can never have the granularity of a second and thus does not account for time zone adjustment when truncating the timestamp to {{minute}}. 
This assumption is currently used when truncating the timestamps to {{microsecond, millisecond, second, or minute}}. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org