Bonjour, je recherche à effectuer la différence entre deux horraire l'un defini dans une table l'autre étant la date courante.
en premier très simple j'ai tenté ceci
select to_char(sysdate,'hh24:mi:ss') - to_char(XXXXXX,'hh24:mi:ss') from dual, v5.toto
mais j'ai eu comme erreur cellec ci
ORA-01722: invalid number
J'ai tenté de développer un PL/SQL mais j'ai comme erreur celle-ci.
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 28
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| DECLARE
cursor chdjour (hjour2 VARCHAR2)
is
select to_char(sysdate,'hh24:mi') as hjour
from dual;
--
cursor hcommande (henvoi2 VARCHAR2)
is
select distinct to_char(XXXXX,'hh24:mi') as henvoi
from v5.toto
where 1=1
and trunc(Plop) = trunc(sysdate);
--
hjour VARCHAR2 (30 Byte);
henvoi VARCHAR2 (30 Byte);
diff VARCHAR2 (30 Byte);
--
BEGIN
open chdjour (hjour);
loop
fetch chdjour
into hjour;
open hcommande (henvoi);
loop
fetch hcommande
into henvoi;
diff := (henvoi - hjour);
dbms_output.put_line('nblien='||diff);
end loop;
close hcommande;
EXIT WHEN chdjour%NOTFOUND;
EXIT WHEN hcommande%NOTFOUND;
END LOOP;
close chdjour;
end; |
Par contre j'insiste sur le fait que si je peux éviter le PL/SQL c'est mieux
je voudrai ensuite comparer cette valeur à une autre et effecuter une action si besoin...
Merci
Partager