SQL em Oracle > DML > Funções > Funções de linha > Funções numéricas
Funções numéricas tl_logo2.jpg


ROUND(valor, [n])

Arredonda o valor. Se n for omitido arredonda para as unidades. Se n for positivo arredonda na posição n à direita da virgula. Se n for negativo arredonda na posição n à esquerda da virgula.

select ROUND(45.923,1), ROUND(45.923), ROUND(45.323,1), ROUND(45.323,-1), ROUND(sal/32,2)
from emp
where deptno = 10;
ROUND(45.923,1)        ROUND(45.923)          ROUND(45.323,1)        ROUND(45.323,-1)       ROUND(SAL/32,2)        
---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
45,9                   46                     45,3                   50                     76,56                  
45,9                   46                     45,3                   50                     156,25                 
45,9                   46                     45,3                   50                     40,63                  

3 rows selected

bthome.gifTopo


TRUNC(valor, [n])

Trunca o valor. Se n for omitido trunca nas unidades. Se n for positivo trunca na posição n à direita da virgula. Se n for negativo trunca na posição n à esquerda da virgula, colocando os algarismos à direita de n e até à virgula com zero.

select TRUNC(45.923,1), TRUNC(45.923), TRUNC(45.323,1), TRUNC(45.323,-1),TRUNC(sal/32,2)
from emp
where deptno = 10;
TRUNC(45.923,1)        TRUNC(45.923)          TRUNC(45.323,1)        TRUNC(45.323,-1)       TRUNC(SAL/32,2)        
---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
45,9                   45                     45,3                   40                     76,56                  
45,9                   45                     45,3                   40                     156,25                 
45,9                   45                     45,3                   40                     40,62                  

3 rows selected

bthome.gifTopo


CEIL(valor)

Determina o menor inteiro maior ou igual que o valor introduzido como argumento.

select sal, CEIL(sal),CEIL(99.9),CEIL(101.76),CEIL(-11.1)
from emp;
SAL                    CEIL(SAL)              CEIL(99.9)             CEIL(101.76)           CEIL(-11.1)            
---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
800                    800                    100                    102                    -11                    
1600                   1600                   100                    102                    -11                    
1250                   1250                   100                    102                    -11                    
2975                   2975                   100                    102                    -11                    
1250                   1250                   100                    102                    -11                    
2850                   2850                   100                    102                    -11                    
2450                   2450                   100                    102                    -11                    
3000                   3000                   100                    102                    -11                    
5000                   5000                   100                    102                    -11                    
1500                   1500                   100                    102                    -11                    
1100                   1100                   100                    102                    -11                    
950                    950                    100                    102                    -11                    
3000                   3000                   100                    102                    -11                    
1300                   1300                   100                    102                    -11                    

14 rows selected

bthome.gifTopo


FLOOR(valor)

Determina o inteiro menor ou igual que o valor introduzido como parâmetro.

select sal, FLOOR(sal),FLOOR(99.9),FLOOR(101.76),FLOOR(-11.1)
from emp;
SAL                    FLOOR(SAL)             FLOOR(99.9)            FLOOR(101.76)          FLOOR(-11.1)           
---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
800                    800                    99                     101                    -12                    
1600                   1600                   99                     101                    -12                    
1250                   1250                   99                     101                    -12                    
2975                   2975                   99                     101                    -12                    
1250                   1250                   99                     101                    -12                    
2850                   2850                   99                     101                    -12                    
2450                   2450                   99                     101                    -12                    
3000                   3000                   99                     101                    -12                    
5000                   5000                   99                     101                    -12                    
1500                   1500                   99                     101                    -12                    
1100                   1100                   99                     101                    -12                    
950                    950                    99                     101                    -12                    
3000                   3000                   99                     101                    -12                    
1300                   1300                   99                     101                    -12                    

14 rows selected

bthome.gifTopo


POWER(valor, n)

Eleva à potência de n o valor. Pode ser negativo.

select sal, power(sal,2), power(sal,3), power(50,5)
from emp
where deptno = 10;
SAL                    POWER(SAL,2)           POWER(SAL,3)           POWER(50,5)            
---------------------- ---------------------- ---------------------- ---------------------- 
2450                   6002500                14706125000            312500000              
5000                   25000000               125000000000           312500000              
1300                   1690000                2197000000             312500000              

3 rows selected

bthome.gifTopo


EXP (n)

Devolve o valor 'e' elevado a n. e=2.7182818

select exp(1), exp(4) 
from dual;
EXP(1)                                   EXP(4)                 
---------------------------------------- -----------------------------------------
2,71828182845904523536028747135266249776 54,59815003314423907811026120286087840308 

1 rows selected

bthome.gifTopo


SQRT(valor)

Devolve a raiz quadrada de valor.

select sal, sqrt(sal), sqrt(40)
from emp
where comm > 0;
SAL                    SQRT(SAL)                                 SQRT(40)               
---------------------- ----------------------------------------- ----------------------------------------
1600                   40                                        6,32455532033675866399778708886543706744 
1250                   35,35533905932737622004221810524245196424 6,32455532033675866399778708886543706744 
1250                   35,35533905932737622004221810524245196424 6,32455532033675866399778708886543706744 

3 rows selected

bthome.gifTopo


SIGN(valor)

Devolve -1 se for negativo, zero se for nulo, 1 se for positivo.

select sal, comm, sal-comm, sign(sal-comm)
from emp
where deptno = 30;
SAL                    COMM                   SAL-COMM               SIGN(SAL-COMM)         
---------------------- ---------------------- ---------------------- ---------------------- 
1600                   300                    1300                   1                      
1250                   500                    750                    1                      
1250                   1400                   -150                   -1                     
2850                                                                                        
1500                   0                      1500                   1                      
950                                                                                         

6 rows selected

bthome.gifTopo


ABS(valor)

Devolve o valor absoluto de valor.

select sal, comm, comm-sal, abs(comm-sal), abs(-35)
from emp
where deptno = 30;
SAL                    COMM                   COMM-SAL               ABS(COMM-SAL)          ABS(-35)               
---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
1600                   300                    -1300                  1300                   35                     
1250                   500                    -750                   750                    35                     
1250                   1400                   150                    150                    35                     
2850                                                                                        35                     
1500                   0                      -1500                  1500                   35                     
950                                                                                         35                     

6 rows selected

bthome.gifTopo


MOD(valor1,valor2)

Devolve o resto da divisão de valor1 por valor2.

select sal, comm, mod(sal,comm), mod(100,40)
from emp
where deptno = 30
order by comm;
SAL                    COMM                   MOD(SAL,COMM)          MOD(100,40)            
---------------------- ---------------------- ---------------------- ---------------------- 
1500                   0                      1500                   20                     
1600                   300                    100                    20                     
1250                   500                    250                    20                     
1250                   1400                   1250                   20                     
950                                                                  20                     
2850                                                                 20                     

6 rows selected

bthome.gifTopo


LOG(m,n) - logarítmo de base m de n;

SIN(n) - seno de n;

SINH(n) - seno hiperbólico;

TAN(n) - tangente de n.

TANH(n) - tangente hiperbólica de n;

COS(n) - coseno de n;

COSH(n) - coseno hiperbólico de n;

bthome.gifTopo


Realizado por Turtle Learning ®. Última alteração em 2011-02-26