[MDEV-26112] STR_TO_DATE should work with lc_time_names Created: 2021-07-08  Updated: 2023-09-27

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.3.14, 10.5.9
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Markus Peter Assignee: Rucha Deodhar
Resolution: Unresolved Votes: 1
Labels: None
Environment:

Mac OS, Debian Linux



 Description   

STR_TO_DATE cannot handle German monthnames:

MariaDB [(none)]> set lc_time_names="de_DE";
Query OK, 0 rows affected (0.000 sec)
 
MariaDB [(none)]> select version();
+--------------------+
| version()          |
+--------------------+
| 10.5.9-MariaDB-log |
+--------------------+
1 row in set (0.000 sec)
 
MariaDB [(none)]> select str_to_date(date_format("2010-04-01","%e. %M %Y"), "%e. %M %Y");
+-----------------------------------------------------------------+
| str_to_date(date_format("2010-04-01","%e. %M %Y"), "%e. %M %Y") |
+-----------------------------------------------------------------+
| 2010-04-01                                                      |
+-----------------------------------------------------------------+
1 row in set (0.000 sec)
 
MariaDB [(none)]> select str_to_date(date_format("2010-03-01","%e. %M %Y"), "%e. %M %Y");
+-----------------------------------------------------------------+
| str_to_date(date_format("2010-03-01","%e. %M %Y"), "%e. %M %Y") |
+-----------------------------------------------------------------+
| NULL                                                            |
+-----------------------------------------------------------------+
1 row in set, 1 warning (0.000 sec)
 
MariaDB [(none)]> show warnings;
+---------+------+--------------------------------------------------------------------+
| Level   | Code | Message                                                            |
+---------+------+--------------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '1. März 2010' for function str_to_date  |
+---------+------+--------------------------------------------------------------------+
1 row in set (0.000 sec)
 
MariaDB [(none)]> set lc_time_names="de_DE";
Query OK, 0 rows affected (0.000 sec)
 
MariaDB [(none)]> select str_to_date(date_format("2010-06-01","%e. %M %Y"), "%e. %M %Y");
+-----------------------------------------------------------------+
| str_to_date(date_format("2010-06-01","%e. %M %Y"), "%e. %M %Y") |
+-----------------------------------------------------------------+
| NULL                                                            |
+-----------------------------------------------------------------+
1 row in set, 1 warning (0.000 sec)


Generated at Thu Feb 08 09:42:50 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.