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