Jump to content

[Resolvido] MySQL com datas e times


Recommended Posts

Posted

Quando começei a criar o meu website, na Base de dados, a data coloquei em tipo Varchar, gravando as datas em "DD/MM/AAAA" e queria alterar para Date, para o formato "AAAA/MM/DD".

Se so alterar para Date, a tabela da data fica automaticamente em vazio, pais o formato da data esta diferente, como tal gostava de saber se existe alguma função que faça isso no SQL.

collectioneuro300px.png
Posted

se os campos estão realmente todos bem formatados como dizes, podes fazer o seguinte para uma tabela com o nome "tabela" e o campo a ser alterado com o nome "data"

update tabela where data = concat(substr(data, 7, 4), '/', substr(data, 4, 2), '/', substr(data, 1, 2));
IRC : sim, é algo que ainda existe >> #p@p
Posted

Correcção, na BD consta assim: "DD-MM-AAAA".

Há-de ser algo assim :

UPDATE `tabela` SET `data` = STR_TO_DATE(`data`, "%Y/%m/%d");

Depois disto feito mudas o tipo do campo na tabela.

Testei como informas-te, mas as datas ficam todas alteradas, tenho datas de 2001 como de 2020 :s

Tentei com os "-" como informei que consta na minha BD.

se os campos estão realmente todos bem formatados como dizes, podes fazer o seguinte para uma tabela com o nome "tabela" e o campo a ser alterado com o nome "data"

update tabela where data = concat(substr(data, 7, 4), '/', substr(data, 4, 2), '/', substr(data, 1, 2));

Com esse update, não consegui grande resultado :s

collectioneuro300px.png
Posted

UPDATE `tabela` SET `data` = DATE_FORMAT(STR_TO_DATE(`data`, "%d-%m-%Y"), "Y/%m/%d);

Exactamente, deu exactamente como se pretendia 🙂

Só uma pequena correcção no código que forneces-te 😛 Faltando umas aspas e "%" para o Y

UPDATE `ce_news` SET `news_date` = DATE_FORMAT(STR_TO_DATE(`news_date`, "%d-%m-%Y"), "%Y-%m-%d");
collectioneuro300px.png
Posted

Exactamente, deu exactamente como se pretendia 🙂

Só uma pequena correcção no código que forneces-te 😛 Faltando umas aspas e "%" para o Y

UPDATE `ce_news` SET `news_date` = DATE_FORMAT(STR_TO_DATE(`news_date`, "%d-%m-%Y"), "%Y-%m-%d");

pois .. um gajo escreve à pressa e depois sai mal 😄

IRC : sim, é algo que ainda existe >> #p@p
Posted (edited)

pois .. um gajo escreve à pressa e depois sai mal 😄

Se foi a pressa ou não, o erro também foi menor, nada de grave 🙂

Mas já agora, Obrigado 🙂

Edited by tiko165
collectioneuro300px.png

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.