Description:
Output:
=======
mysql> select EXTRACT( QUARTER FROM NULLIF( '2015-01-01', '2015-01-02' ) ) ; show warnings;
+--------------------------------------------------------------+
| EXTRACT( QUARTER FROM NULLIF( '2015-01-01', '2015-01-02' ) ) |
+--------------------------------------------------------------+
| NULL |
+--------------------------------------------------------------+
1 row in set, 2 warnings (0.00 sec)
+---------+------+-------------------------------------------------+
| Level | Code | Message |
+---------+------+-------------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '2015-01-01' |
| Warning | 1292 | Incorrect datetime value: '2015' |
+---------+------+-------------------------------------------------+
2 rows in set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.8-rc |
+-----------+
1 row in set (0.00 sec)
mysql> select @@sql_mode;
+-------------------+
| @@sql_mode |
+-------------------+
| STRICT_ALL_TABLES |
+-------------------+
1 row in set (0.00 sec)
Problem:
========
1 is expected and no warnings.
How to repeat:
select NULLIF( '2015-01-01', '2015-01-02' ), EXTRACT( QUARTER FROM '2015-01-01' );
Suggested fix:
1 is expected and no warnings.