Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal.
Estou precisando calcular as datas anteriores ao dia atual na query abaixo, porém as datas no banco de dados estão com tipo Varchar. Alguém poderia me ajudar?
SELECT data_horariofuncionario FROM horariofuncionario WHERE data_horariofuncionario > '17/09/2015';
Está retornando as datas que começam com dia a partir de 18, mas o mês está retornando mês 08, mês 09.
O que devo fazer?
Obrigado, desde já.
O banco de dados tem o tipo de dado específico para dar um melhor tratamentos ás datas, são os tipos DATE, DATETIME e TIMESTAMP. Certamente com o tipo de dado correto, o resultado seria mais apropriado.
Antes de alterar a tabela difinitiva, aconselho criar um backup ou uma cópia para testar a alteração.
Inserindo uma nova coluna:
ALTER TABLE tabela
ADD COLUMN new_date DATE;
Interpretando a data do VARCHAR para DATE:
UPDATE tabela
SET new_date = STR_TO_DATE(original_date, "%d/%m/%Y");
Between