3
respostas

Como buscar data em campo numérico?

Bom dia,

Como eu consigo aplicar a mesma lógica da aula em um campo que armazena a data porém é do tipo NUMBER(15,0)? Esses são exemplos do retorno desse campo.

1572407299 1572407374 1572407550

Preciso converter de número para algum outro tipo e aí sim depois usar o TO_DATE? Muito obrigado.

3 respostas

Olá Dalton, tudo bem?

Você poderia dar mais detalhes do seu problema?

É armazenado neste campo data e hora ou apenas data? Está conversão seria apenas para realizar um select na tabela e ser retornado no formato de Data?

Aguardo o seu retorno!

O campo armazena hora ano, mês, dia, hora, minuto e segundo. Seria só para exibir formatado no select já que se eu exibir o campo no formato original não tem como entender a data.

ORIGINAL FORMATADO 1572407299 30/10/2019 01:48:19 1572407374 30/10/2019 01:49:34 1572407550 30/10/2019 01:52:30 1572407667 30/10/2019 01:54:27 1572407673 30/10/2019 01:54:33 1572407764 30/10/2019 01:56:04 1572407851 30/10/2019 01:57:31 1572407877 30/10/2019 01:57:57

Muito obrigado.

Certo Dalton, você pode utilizar a seguinte consulta:

select to_char(to_date('01/01/1970') + numtodsinterval(NOME_CAMPO,'SECOND') - 2/24) from NOME_TABELA;

Nesta consulta, utilizamos o to_date para converter uma string em data, essa string que está sendo passada '01/01/1970', é a data que representa um ponto na linha do tempo a partir da qual contamos o tempo, somamos essa string que está sendo convertida em data com o numtodsinterval que está convertendo o campo em segundos, o to_char foi utilizado para calcular a hora de forma correta, caso você não utilize o to_char para realizar essa subtração, será retornado uma diferença devido ao Time Zone.

Espero ter ajudado, qualquer dúvida é só falar e bons estudos!