[ 
https://issues.apache.org/jira/browse/SPARK-19496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15857459#comment-15857459
 ] 

Hyukjin Kwon commented on SPARK-19496:
--------------------------------------

- Hive

{code}
hive> SELECT to_date('2014-31-12');
2016-07-12
...

hive> SELECT to_date('2014-12-32');
2015-01-01
...

hive> SELECT to_date('2014-12-31');
2014-12-31
{code}


- Postgres

{code}
postgres=# SELECT to_date('2014-12-31');
ERROR:  function to_date(unknown) does not exist
LINE 1: SELECT to_date('2014-12-31');
               ^
HINT:  No function matches the given name and argument types. You might need to 
add explicit type casts.
postgres=# SELECT to_date('2014-12-31', 'yyyy-MM-dd');
  to_date
------------
 2014-12-31
(1 row)

postgres=# SELECT to_date('2014-13-31', 'yyyy-MM-dd');
  to_date
------------
 2015-01-31
(1 row)
{code}


- Spark

{code}
spark-sql> SELECT to_date('2014-31-12');
NULL
...

spark-sql> SELECT to_date('2014-12-32');
NULL
...

spark-sql> SELECT to_date('2014-12-31');
2014-12-31
...
{code}


- MySQL

{code}
mysql> SELECT str_to_date('2014-12-31', '%Y-%m-%d');
+---------------------------------------+
| str_to_date('2014-12-31', '%Y-%m-%d') |
+---------------------------------------+
| 2014-12-31                            |
+---------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT str_to_date('2014-13-31', '%Y-%m-%d');
+---------------------------------------+
| str_to_date('2014-13-31', '%Y-%m-%d') |
+---------------------------------------+
| NULL                                  |
+---------------------------------------+
1 row in set, 1 warning (0.00 sec)
{code}


MySQL/SparkSQL - it seems returning {{NULL}}. 

Hive/Postgres - it seems returning calculated dates.

> to_date with format has weird behavior
> --------------------------------------
>
>                 Key: SPARK-19496
>                 URL: https://issues.apache.org/jira/browse/SPARK-19496
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.1.0
>            Reporter: Wenchen Fan
>
> Today, if we run
> {code}
> SELECT to_date('2015-07-22', 'yyyy-dd-MM')
> {code}
> will result to `2016-10-07`, while running
> {code}
> SELECT to_date('2014-31-12')   # default format
> {code}
> will return null.
> this behavior is weird and we should check other systems like hive to see if 
> this is expected.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to