Bom dia pessoal..
Bom, eu estou com um problema e gostaria de saber se vocês poderiam me ajudar.
Eu preciso fazer uma função que me retorne um determinado valor.
Segue abaixo o exemplo:
Eu vou precisar pegar de pegar os SEGUNDOS correntes de um campo data no início e fim do programa, por exemplo..
11:24:38
Eu preciso armazenar só os SEGUNDOS em uma variável e na 2° parte eu preciso fazer o mesmo e subtrair os 2 valores para chegar à um em específico.
Nesse caso precisaria de 2 variáveis para armazenar os segundos do COMEÇO e os segundos do FIM e fazer uma subtração dos 2 valores.. o resultado desses 2 valores seria o retorno da variável.
Como eu posso fazer isso ?
HELP!
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Qua, 28 Fev 2007 9:30 am
- Localização: Guarulhos - SP
Segue o código que eu usei...
Valeu galera...
CREATE OR REPLACE FUNCTION FUFEP_SXXX_CALCULA_SEGUNDO(
V_DT_DAT_INI DATE,
V_DT_DAT_FIM DATE)
RETURN NUMBER IS
V_SEGUNDOS NUMBER;
BEGIN
SELECT to_number(to_date(V_DT_DAT_INI,'DD/MM/YYYY HH:MI:SS') - to_date(V_DT_DAT_FIM,'DD/MM/YYYY HH:MI:SS')) * 24 * 60 * 60 segundos
INTO V_SEGUNDOS
FROM dual;
RETURN V_SEGUNDOS;
EXCEPTION
WHEN NO_DATA_FOUND THEN
V_SEGUNDOS := ' ';
RETURN V_SEGUNDOS;
END FUFEP_SXXX_CALCULA_SEGUNDO;
/
Valeu galera...
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Ter, 14 Nov 2006 12:38 pm
- Localização: Belém - Pa
Esses valores de segundos do primeiro e do segundo campo representariam o q exatamente? Por exemplo, apesar de não ter analisado profundamente o seu código, percebi que ele retorna o tempo em segundos que se passaram entre uma data e outra. Acho que o problema é que você está subtraindo os segundos da data de início da data de fim, vai ficar negativo (eg.: [28/02/2007 10:00:00 - 28/02/2007 10:01:00] * 24*60*60)
Já se eu tenho um primeiro campo já em segundos, o que ele representaria? Provavelmente não seriam datas e sim tempo decorrido.
Já tentou utilizar a função dbms_utility.get_time?
Você poderia explicar melhor a funcionalidade, aí a gente pode te ajudar!!
Forte abraço
Emanuel Estumano
Já se eu tenho um primeiro campo já em segundos, o que ele representaria? Provavelmente não seriam datas e sim tempo decorrido.
Já tentou utilizar a função dbms_utility.get_time?
Você poderia explicar melhor a funcionalidade, aí a gente pode te ajudar!!
Forte abraço
Emanuel Estumano
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes