Ir para conteúdo
Fórum Script Brasil
  • 0

Função extract do postgres


Samuelsjn

Pergunta

Ola pessoal,

Fazendo uma consulta sql no banco postgres, precisei pegar o minuto da hora atual.

Utilizei a esta função: extract(minutes from current_time) as minutos.

Ela realmente pega os minutos das horario. Mas, se por exemplo, estiver 14:03 ela so pega o 3.

Eu gostaria que ela pegasse no formato de dois digitos, 03, teria como?

Obrigado

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
Utilizei a esta função: extract(minutes from current_time) as minutos.

Ela realmente pega os minutos das horario. Mas, se por exemplo, estiver 14:03 ela so pega o 3.

Eu gostaria que ela pegasse no formato de dois digitos, 03, teria como?

Então no postgres não há nenhuma função para recuperar isto?
Acredito que tenha sim.

Não utilizo Postgres, mas por analogia e de acordo com o que consta na documentação que encontrei (PostgreSQL Prático - versão 8.1.4), talvez você não precise fazer isto via programação.

No FireBird, por exemplo, a função current_time, utilizada num SELECT e apresentada por uma ferramenta de consulta mostra a hora no formato hh:mm:ss (ex. 02:21:06). Mas, na verdade ainda há os milisegundos. Assim, se você fizer uso do CAST para convertê-lo para um VARCHAR, precisará lembrar disto, porque o tamanho passa a ser maior (caso contrário você obterá erro).

Há, ainda, a opção da conversão "implícita" onde você faz o SELECT concatenando um string nulo à current_time e, com isto, o resultado automaticamente seria uma string.

Uma vez tendo a string, bastaria pegar a substring desejada, neste caso, a partir da posição 3 dois caracteres.

Estes recursos funcionam no FireBird e, como existem no Postgres, podem servir para resolver seu problema.

Assim, experimente os seguintes exemplos e veja se irá funcionar no Postgres:

- CAST: select substring(cast(current_time as varchar(13)) from 3 for 2)

- string nulo: select substring(current_time || '' from 3 for 2) ('' são duas áspas simples)

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest valeria maria lauande
Utilizei a esta função: extract(minutes from current_time) as minutos.

Ela realmente pega os minutos das horario. Mas, se por exemplo, estiver 14:03 ela so pega o 3.

Eu gostaria que ela pegasse no formato de dois digitos, 03, teria como?

Então no postgres não há nenhuma função para recuperar isto?
Acredito que tenha sim.

Não utilizo Postgres, mas por analogia e de acordo com o que consta na documentação que encontrei (PostgreSQL Prático - versão 8.1.4), talvez você não precise fazer isto via programação.

No FireBird, por exemplo, a função current_time, utilizada num SELECT e apresentada por uma ferramenta de consulta mostra a hora no formato hh:mm:ss (ex. 02:21:06). Mas, na verdade ainda há os milisegundos. Assim, se você fizer uso do CAST para convertê-lo para um VARCHAR, precisará lembrar disto, porque o tamanho passa a ser maior (caso contrário você obterá erro).

Há, ainda, a opção da conversão "implícita" onde você faz o SELECT concatenando um string nulo à current_time e, com isto, o resultado automaticamente seria uma string.

Uma vez tendo a string, bastaria pegar a substring desejada, neste caso, a partir da posição 3 dois caracteres.

Estes recursos funcionam no FireBird e, como existem no Postgres, podem servir para resolver seu problema.

Assim, experimente os seguintes exemplos e veja se irá funcionar no Postgres:

- CAST: select substring(cast(current_time as varchar(13)) from 3 for 2)

- string nulo: select substring(current_time || '' from 3 for 2) ('' são duas áspas simples)

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...