Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jonascorreasouza

select data atual no tipo long

Recommended Posts

Olá,

 

Estou criando um insert e preciso buscar a data atual do servidor.

O problema é que campo onde desejo inserir esta da esta no tipo bigint.

 

Quero criar um select onde o resultado seja a dd/hh/aaaa hh:MM atual porém tem que estar convertido para LONG

 

Exemplo de conversão :

dd/hh/aaaa hh:MM = 09/04/2013 19:18

LONG = 1365545880000

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em geral alguma function nativa faz esta conversão, mas você esqueceu de dizer em que BD é o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta,

O Banco de dados é Postgres.

 

Sou leigo no assunto, como faço esta conversão nativa?

 

tentei fazer o seguinte select,"select now () " e o resultado foi este 2013-04-09 21:35:15.311-03.

Mas preciso que o resultado seja a dd/hh/aaaa hh:MM atual porém tem que estar convertido para LONG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta, Obrigado pela ajuda.

Estamos quase lá..

Executei o seguinte select

 

SELECT EXTRACT(EPOCH from now ())

o resultado foi 1365601839,045

 

Preciso retirar a virgula deste resultado,

 

Como ficaria o select para me trazer o resultado sem a virgula?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente :

 

SELECT ROUND((EXTRACT(EPOCH from now ())),0) 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu,

 

apareceu a seguinte mensagem de erro

 

 

ERRO: função round(double precision, integer) não existe
LINE 1: SELECT ROUND((EXTRACT(EPOCH from now ())),0)
^
HINT: Nenhuma função corresponde com o nome e os tipos de argumentos informados. Você precisa adicionar conversões de tipo explícitas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem primeiro saber se o que retorna é número ou string, sendo número o round() resolve , sendo string

talvez um trunc na data resolva

 

 

SELECT round(EXTRACT(EPOCH from now ()))

 

SELECT EXTRACT(EPOCH from date_trunc('day',now ()))

Vendo sempre o manual para detalhes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que os dois select tiraram a virgula, mas também tiraram o números após a virgula.

 

 

Motta, tive uma outra idéia..

 

tem como executar este select SELECT EXTRACT(EPOCH from current_date)

 

e acrescentar três ZEROS ao final do resultado ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que os dois select tiraram a virgula, mas também tiraram o números após a virgula.

 

Não, aí se perde a significancia dos valores, ou se mantém a vírgula ou se arrendonda/trunca os valores.

 

Para acrescentar 3 zeros ao resultado multiplico por 1000

 

 

SELECT EXTRACT(EPOCH from date_trunc('day',now ())) * 1000

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.