Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hàm ABS () trong Oracle

Trong Oracle, ABS() hàm trả về giá trị tuyệt đối của đối số của nó.

Giá trị tuyệt đối là giá trị không âm của một số thực mà không tính đến dấu của nó. Nó mô tả khoảng cách từ số 0 mà một số nằm trên trục số, không tính đến hướng.

Cú pháp

ABS() cú pháp của hàm như sau:

ABS(n)

Ở đâu n có thể là bất kỳ kiểu dữ liệu số nào hoặc bất kỳ kiểu dữ liệu phi số nào có thể được chuyển đổi hoàn toàn sang kiểu dữ liệu số.

Hàm trả về cùng kiểu dữ liệu với kiểu dữ liệu số của đối số.

Ví dụ

Dưới đây là một ví dụ để chứng minh:

SELECT ABS(-7)
FROM DUAL;

Kết quả:

   ABS(-7) 
__________ 
         7 

Giá trị tuyệt đối của -77 .

Đó chính xác là kết quả mà chúng tôi sẽ nhận được nếu vượt qua 7 dương tính :

SELECT 
    ABS(7),
    ABS(-7)
FROM DUAL;

Kết quả:

   ABS(7)    ABS(-7) 
_________ __________ 
        7          7 

Giá trị rỗng

Chuyển null thành ABS() trả về null :

SET NULL 'null';

SELECT ABS(null)
FROM DUAL;

Kết quả:

   ABS(NULL) 
____________ 
        null 

Theo mặc định, SQLcl và SQL * Plus trả về một khoảng trống bất cứ khi nào giá trị null xảy ra do kết quả của một SQL SELECT tuyên bố.

Tuy nhiên, bạn có thể sử dụng SET NULL để chỉ định một chuỗi khác được trả về. Ở đây tôi đã chỉ định rằng chuỗi null nên được trả lại.

Số lượng đối số không chính xác

Gọi ABS() mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:

SELECT ABS()
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT ABS()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

Và việc chuyển sai số đối số dẫn đến lỗi:

SELECT ABS(1, 2)
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT ABS(1, 2)
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển và trả về đối tượng mảng tùy chỉnh trong ibatis và oracle trong java

  2. Tại sao tôi nhận được PLS-00302:thành phần phải được khai báo khi nó tồn tại?

  3. Chọn số lượng (*) từ nhiều bảng

  4. Hàm CONCAT () trong Oracle

  5. Thu thập hàng loạt vào và thực hiện ngay lập tức trong Oracle