EvaldoMaciel

Converter Minutos em horas (Oracle)

Sep 21st, 2018
635
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE FUNCTION converter (
  2.     numero IN  NUMBER
  3. ) RETURN VARCHAR2
  4. IS
  5.     minutos VARCHAR2(10);
  6. BEGIN
  7.    
  8. RETURN
  9.  
  10.     CASE LENGTH
  11.    
  12.      (CASE INSTR((numero / 60), '.')  
  13.         WHEN 2 THEN '0'  || SUBSTR((numero / 60), 1 ,1)
  14.         WHEN 3 THEN SUBSTR((numero / 60), 1 ,2)
  15.     ELSE TO_CHAR(numero / 60)
  16.     END || '.' || LPAD(MOD(numero, 60), 2, 0))  
  17.    
  18.             WHEN 4 THEN '0' ||
  19.             CASE INSTR((numero / 60), '.')  
  20.             WHEN 2 THEN '0'  || SUBSTR((numero / 60), 1 ,1)
  21.             WHEN 3 THEN SUBSTR((numero / 60), 1 ,2)
  22.         ELSE TO_CHAR(numero / 60)
  23.     END || '.' || LPAD(MOD(numero, 60), 2, 0)
  24.    
  25.    ELSE
  26.          CASE INSTR((numero / 60), '.')  
  27.             WHEN 2 THEN '0'  || SUBSTR((numero / 60), 1 ,1)
  28.             WHEN 3 THEN SUBSTR((numero / 60), 1 ,2)
  29.         ELSE TO_CHAR(numero / 60)
  30.     END || '.' || LPAD(MOD(numero, 60), 2, 0)   -- temos os minutos
  31.    
  32.    END ;
  33.    
  34. END converter;
  35. /
  36.  
  37.  
  38. SELECT  converter(valor), valor AS valors FROM horario WHERE  valor IS NOT NULL
RAW Paste Data