Se, por algum motivo, um campo data do seu banco de dados foi criado como VARCHAR e você precisa mascarar o resultado de um SELECT em um campo.
Como esse campo é VARCHAR não é possível utilizar somente máscara conforme esse post esse post.
Além de utilizar a máscara você precisa converter a informação do campo para o tipo data, uma vez que até então ela é só uma string. Para essa tarefa o MySql 5 conta com o date_format! O que torna essa tarefa muito mais simples.
1 | select DATE_FORMAT(str_to_date('1/1/2008', "%d/%m/%Y"), "%d/%m/%Y"); |
Como você provavelmente irá precisar utilizar esse campo depois o ideal é utilizar um nome que torne a manipulação mais prática:
1 | select DATE_FORMAT(str_to_date('1/1/2008', "%d/%m/%Y"), "%d/%m/%Y") AS date_column; |
Um exemplo final, caso a coluna da tabela fosse dataNascimento:
1 | SELECT date_format(str_to_date(dataNascimento, "%d/%m/%Y"),"%d/%m/%Y") AS dataNascimento FROM tbcliente WHERE CodCliente = 44; |
abraço,
até…
Não existem posts relacionados.
Tags: date_format, mysql5, str_to_date
Outra forma para atualizar e não exibir é a seguinte:
UPDATE `tabela` SET `coluna` = date_format( str_to_date(
coluna , “%d/%m/%Y” ) , “%Y-%m-%d” )
Assim vc irá atualizar todos os registros do banco para o formato AAAA-MM-DD
UPDATE `tabela` SET `coluna` = date_format( str_to_date(
coluna , “%Y-%m-%d” ) , “%d/%m/%Y” )
Este faz o inverso de YYYY-MM-DD para DD/MM/AAAA