Oracle PL/SQL/Numeric Math Functions/ABS

Материал из SQL эксперт
Версия от 09:55, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

 
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>



ABS: Returns the absolute value of a number or value

 

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>



ABS(x): Returns the absolute value of x

 

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



select abs(13.4) from dual;

  
SQL>
SQL> select abs(13.4) from dual;
 ABS(13.4)
----------
      13.4
1 row selected.
SQL> --



select abs(-4.5) from dual;

  
SQL>
SQL> select abs(-4.5) from dual;
 ABS(-4.5)
----------
       4.5
1 row selected.
SQL> --



select abs(- "Using an expression"

  
SQL>
SQL>
SQL> select abs(-70 * 415) "Using an expression"
  2  from dual;
Using an expression
-------------------
              29050
1 row selected.
SQL> --



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

  
SQL>
ABS() Syntax:  ABS(<numeric expression>)
SQL>
SQL> SELECT
  2     ABS(-100) negative,
  3     ABS(100)  positive from dual;
  NEGATIVE   POSITIVE
---------- ----------
       100        100



Use ABS in PL/SQL statement

  
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>