Это:
STR_TO_DATE(t.datestring, '%d/%m/%Y')
... преобразует строку в тип данных datetime. Чтобы убедиться, что он выходит в желаемом формате, используйте DATE_FORMAT :
DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')
Если вы не можете изменить тип данных в исходном столбце, я предлагаю создать представление , которое использует вызов STR_TO_DATE
для преобразования строки в тип данных DateTime.
STR_TO_DATE позволяет вам сделать это, и у него есть аргумент формата.
SELECT STR_TO_DATE(dateString, '%d/%m/%y') FROM yourTable...
Да, есть str_to_date
mysql> select str_to_date("03/02/2009","%d/%m/%Y");
+--------------------------------------+
| str_to_date("03/02/2009","%d/%m/%Y") |
+--------------------------------------+
| 2009-02-03 |
+--------------------------------------+
1 row in set (0.00 sec)