0

Como transformar TODOS campos 'datatime' de uma tabela MySQL formato "2002-10-29 20:59:40" em formato unix "1067602880"?

criado por rsf em 24/11/2003 2:59pm
Nenhuma descrição foi enviada.

Lista de Respostas:

0
03/12/2003 11:47am
(~21 anos atrás)
Para converter todos os campos:

update nome_tabela set nome_campo = unix_timestamp(nome_campo)

Existe um grande problema, nessa conversão, o campo que vai ser convertido, vai receber, um valor inteiro, que é o unix_timestamp, no caso, ele era date/time, crie então um novo campo nessa sua tabela e execute esse comando:

update nome_tabela set nome_campo_novo = unix_timestamp(nome_campo_antigo)

eu acho que isso resolve o seu problema.


0
03/12/2003 12:14pm
(~21 anos atrás)
Amigo,

caso você tenha problema com conversoes de tipo e não possa de maneira alguma alterar o campo na tabela eu não aconselho a criação de um outro campo

seria mais interessante fazer esta validação dentro da aplicação

no caso via PHP mesmo..

espero ter ajudado

0
03/12/2003 12:31pm
(~21 anos atrás)
Luiz Miguel Axcar respondeu:
Caro,

Tente fazer na mão, como fiz abaixo.
Acho que deve existir alguma função que faça isso direto no banco.
De qualquer forma, espero que o conteúdo abaixo lhe ajude.

[]'s

========================

$query = "SELECT * FROM tabela";
$resultado = mysql_query($query);

while ($campo = mysql_fetch_array ($resultado))
{
$id = $campo['id']; //chave única
$data = $campo['data']; //data
$data = mktime
(
substr($data,11,2),//hora
substr($data,14,2),//minuto
substr($data,17,2),//segundo
substr($data,5,2),//mes
substr($data,8,2),//dia
substr($data,0,4)//ano
);

$query_aux = "UPDATE tabela SET data = '$data' WHERE id='$id'":
$resultado_aux = mysql_query($query_aux);
}

0
03/12/2003 7:20pm
(~21 anos atrás)
Diogo Gomes respondeu:
Achei a idéia da função unix_timestamp interessante, não conhecia a função, mas a conversão via script php é mais sensata, pois é mais fáci converter o formato do timestamp para o formato unix do que o inverso, e futuramente você pode querer o a data normal...

0
03/12/2003 10:54pm
(~21 anos atrás)
Alessander Thomaz respondeu:
Uma opcao seria o timestamp, grava a data no formato ansi (pelo menos o timestamp do mysql, que não usa o formato unix)

exemplo de data em timestamp.
20021029205940

É muito mais fácil fazer calculos com datas usando o timestamp.
Boa sorte.

0
04/12/2003 11:32am
(~21 anos atrás)
Eu acho mais econômico, e mais fácil de trabalhar, guardando um int com o valor unix_timestamp.
Talvez pelo fato de ter me acostumado com o modo de trabalhar, estarei publicando um artigo sobre esse assunto.

0
08/12/2003 4:09pm
(~21 anos atrás)
rsf respondeu:
Muito obrigado pela colaboração pessoal, meu problema foi resolvido.

Obrigado!

0
08/12/2003 8:12pm
(~21 anos atrás)
Alessander Thomaz respondeu:
Flávio, excelente idéia a sua de publicar um artigo.
Acho muito interessante esse tipo de atitude.
Parabéns e boa sorte no desenvolvimento do mesmo.

Alessander

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)