Como transformar TODOS campos 'datatime' de uma tabela MySQL formato "2002-10-29 20:59:40" em formato unix "1067602880"?
Nenhuma descrição foi enviada.
comentários (0)
suspender
Lista de Respostas:
03/12/2003 11:47am
(~21 anos atrás)
(~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.
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.
03/12/2003 12:14pm
(~21 anos atrás)
(~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
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
03/12/2003 12:31pm
(~21 anos atrás)
(~21 anos atrás)
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);
}
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);
}
03/12/2003 7:20pm
(~21 anos atrás)
(~21 anos atrás)
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...
03/12/2003 10:54pm
(~21 anos atrás)
(~21 anos atrás)
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.
exemplo de data em timestamp.
20021029205940
É muito mais fácil fazer calculos com datas usando o timestamp.
Boa sorte.
04/12/2003 11:32am
(~21 anos atrás)
(~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.
Talvez pelo fato de ter me acostumado com o modo de trabalhar, estarei publicando um artigo sobre esse assunto.
08/12/2003 4:09pm
(~21 anos atrás)
(~21 anos atrás)
Muito obrigado pela colaboração pessoal, meu problema foi resolvido.
Obrigado!
Obrigado!
08/12/2003 8:12pm
(~21 anos atrás)
(~21 anos atrás)
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
Acho muito interessante esse tipo de atitude.
Parabéns e boa sorte no desenvolvimento do mesmo.
Alessander