Oracle PL/SQL/Numeric Math Functions/ABS

Материал из SQL эксперт
Перейти к: навигация, поиск

ABS(-BS(0) ABS(456) SIGN(-IGN(0) SIGN(456)

   <source lang="sql">

SQL> SQL> select abs(-123), abs(0), abs(456)

 2  ,      sign(-123), sign(0), sign(456)
 3  from   dual;
ABS(-123)     ABS(0)   ABS(456) SIGN(-123)    SIGN(0)  SIGN(456)

---------- ---------- ---------- ---------- ----------
      123          0        456         -1          0          1

SQL>

 </source>
   
  


ABS: Returns the absolute value of a number or value

   <source lang="sql">

SQL> SQL> SQL> -- create demo table SQL> create table TestTable(

 2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
 3    MyName             VARCHAR2(10 BYTE),
 4    MyDate             DATE,
 5    MyNumber           Number(8,2)
 6  )
 7  /

Table created. SQL> SQL> SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19960711","YYYYMMDD"),12.12); 1 row created. SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("2","Jason",to_date("19970622","YYYYMMDD"),-12.12); 1 row created. SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("3","Smith",to_date("19980513","YYYYMMDD"),22.1); 1 row created. SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("4","Tailor",to_date("19990624","YYYYMMDD"),-2.12); 1 row created. SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("5","Darlene",to_date("20000415","YYYYMMDD"),2.1); 1 row created. SQL> SQL> SQL> select * from TestTable; ID MYNAME MYDATE MYNUMBER


---------- --------- ----------

1 Alison 11-JUL-96 12.12 2 Jason 22-JUN-97 -12.12 3 Smith 13-MAY-98 22.1 4 Tailor 24-JUN-99 -2.12 5 Darlene 15-APR-00 2.1 SQL> SQL> SQL> SQL> -- ABS: Returns the absolute value of a number or value. SQL> select MyNumber, ABS(MyNumber) from TestTable;

 MYNUMBER ABS(MYNUMBER)

-------------
    12.12         12.12
   -12.12         12.12
     22.1          22.1
    -2.12          2.12
      2.1           2.1

SQL> SQL> SQL> SQL> SQL> SQL> drop table TestTable; Table dropped. SQL> SQL>


 </source>
   
  


ABS(x): Returns the absolute value of x

   <source lang="sql">

SQL> --ABS(x): Returns the absolute value of x. SQL> SQL> select ABS(10) from dual;

  ABS(10)

       10


 </source>
   
  


select abs(13.4) from dual;

   <source lang="sql">
 

SQL> SQL> select abs(13.4) from dual;

ABS(13.4)

     13.4

1 row selected. SQL> --

 </source>
   
  


select abs(-4.5) from dual;

   <source lang="sql">
 

SQL> SQL> select abs(-4.5) from dual;

ABS(-4.5)

      4.5

1 row selected. SQL> --

 </source>
   
  


select abs(- "Using an expression"

   <source lang="sql">
 

SQL> SQL> SQL> select abs(-70 * 415) "Using an expression"

 2  from dual;

Using an expression


             29050

1 row selected. SQL> --

 </source>
   
  


The ABS() function returns the absolute value of a numeric input argument.

   <source lang="sql">
 

SQL> ABS() Syntax: ABS(<numeric expression>) SQL> SQL> SELECT

 2     ABS(-100) negative,
 3     ABS(100)  positive from dual;
 NEGATIVE   POSITIVE

----------
      100        100
  
 </source>
   
  


Use ABS in PL/SQL statement

   <source lang="sql">
 

SQL> SQL> set serveroutput on SQL> SQL> SQL> BEGIN

 2     DBMS_OUTPUT.PUT_LINE(ABS(3.5));
 3     DBMS_OUTPUT.PUT_LINE(ABS(-3.5));
 4     DBMS_OUTPUT.PUT_LINE(ABS(0));
 5  END;
 6  /

3.5 3.5 0 PL/SQL procedure successfully completed. SQL> SQL>

 </source>