No MySQL 5.7, tenho uma coluna varchar que tem uma string datetime que se parece com esta:
`2024-09-03 02:00:07`
Posso executar esta consulta:
select date_format(str_to_date(`column1`, '%Y-%m-%d %H:%i:%s'), '%m/%d/%Y') from table;
Isso retorna as datas da coluna1 em um formato semelhante a este:
09/03/2024
Entretanto, quando executo esta consulta de atualização:
update table set `column1` = date_format(str_to_date(`column1`, '%Y-%m-%d %H:%i:%s'), '%m/%d/%Y');
Estou recebendo o erro abaixo:
Incorrect datetime value: '' for function str_to_date
Há alguns valores nulos na coluna. Atualizei a estrutura da tabela para DEFAULT: NULL
na coluna e marquei a caixa de seleção Null:
Como posso corrigir isso para que ele seja atualizado corretamente?
Verifique se há um valor em branco antes de chamar as funções de conversão.