Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql STR_TO_DATE não funciona


Deixe para função mais simples s. DATE() retorna a parte da data de uma string no formato AAAA-MM-DD:
SELECT DATE(birthday) FROM `test`

Resultado:
2004-12-25      
2004-12-25      
1994-12-25      
1994-12-01      

O motivo pelo qual seu código não está funcionando é que STR_TO_DATE() espera os mesmos formatos de entrada e saída, por exemplo STR_TO_DATE('2014-08-29', '%Y-%m-%d') . Dê uma olhada no exemplos na documentação . Esta função é usada principalmente para converter datas ou horas de um formato para outro, onde o formato original é algo de fora do MySQL e você deseja importar os dados para o formato de data do MySQL por exemplo - neste caso, você saberá qual é o formato original formato de data é.

Exemplo:
SELECT STR_TO_DATE('20041225', '%Y-%m-$d');   -- null - formats don't match
SELECT STR_TO_DATE('2004-12-25', '%Y-%m-%d'); -- 2004-12-25 - formats match