MySql: Converter VARCHAR para DATE

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.

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:

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:

SELECT date_format(str_to_date(dataNascimento, "%d/%m/%Y"),"%d/%m/%Y") AS dataNascimento FROM tbcliente WHERE CodCliente = 44;

abraço,

até…

Publicado por

adlerdias

Oi! Sou Adler Dias, 30, programador, trabalho com desenvolvimento de sistemas há 10 anos. Apaixonado pela minha namorada Alyne. Meu principal hobby é a corrida, já corri uma são silvestre e...