SQL$HELP_OLD72.HLB  —  Conditional Expressions, ABS Function
    The ABS function returns NULL if the passed value expression
    evaluates to NULL. The datatype of the result is the same as the
    passed value expression and supports scaled values of these data
    types: TINYINT, SMALLINT, INTEGER, BIGINT, REAL, FLOAT, DOUBLE
    PRECISION, INTERVAL, DECIMAL, NUMERIC and NUMBER.

    The absolute value function (ABS) returns NULL if the value
    expression evaluates to NULL. If the value expression evaluates
    to a value less than zero then that value is negated so that
    a positive value is returned. Otherwise the value is returned
    unchanged. For instance, ABS (-1) will return the value 1.

    ABS (a) is equivalent to the CASE expression

        case
            when a < 0 then - a
            else a
        end

    Example: Using the ABS function on an INTERVAL result of a date
    subtraction.

    SQL> select
    cont>    ABS ((birthday - current_date) year(3))
    cont> from employees
    cont> order by employee_id
    cont> limit to 10 rows;

      054
      047
      047
      064
      068
      062
      044
      069
      050
      074
    10 rows selected

    Example: Using ABS within a statistical function

    SQL> -- what is the average time in a job for each employee
    SQL> -- exclude anyone on there first job
    SQL> select
    cont>    employee_id,
    cont>    AVG (ABS (EXTRACT (MONTH FROM (job_start - job_end) month (4))))
    cont>           as "Average Job" edit using '--,---,--9.99" years"'
    cont> from JOB_HISTORY
    cont> where employee_id < '00200'
    cont> group by employee_id
    cont> having COUNT (*) > 1;
     EMPLOYEE_ID           Average Job
     00164                 14.00 years
     00165                 22.67 years
     00166                 20.00 years
     00167                 14.50 years
     00168                 26.33 years
     00169                 22.67 years
    ...etc...
     00197                 26.33 years
     00198                 37.00 years
     00199                 35.00 years
    30 rows selected
    %RDB-I-ELIM_NULL, null value eliminated in set function
Close Help