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

Cách định dạng số bằng dấu trừ / dấu cộng trong Oracle

Khi sử dụng TO_CHAR() để định dạng một số trong Cơ sở dữ liệu Oracle, bạn có thể sử dụng S phần tử định dạng để trả về dấu của nó (tức là dấu cộng cho giá trị dương và dấu trừ cho giá trị âm).

Bạn cũng có thể sử dụng MI phần tử định dạng để trả về giá trị âm với dấu âm ở cuối và giá trị dương có dấu trống ở cuối.

Ví dụ về S Định dạng phần tử

Dưới đây là một ví dụ để chứng minh S phần tử định dạng:

SELECT 
    TO_CHAR(-7, 'S9') AS "Negative",
    TO_CHAR(7, 'S9') AS "Positive"
FROM DUAL;

Kết quả:

   Negative    Positive 
___________ ___________ 
-7          +7         

S phần tử định dạng có thể được áp dụng cách khác ở vị trí cuối cùng của mô hình định dạng. Điều này dẫn đến dấu hiệu được thêm vào kết quả:

SELECT 
    TO_CHAR(-7, '9S') AS "Negative",
    TO_CHAR(7, '9S') AS "Positive"
FROM DUAL;

Kết quả:

   Negative    Positive 
___________ ___________ 
7-          7+         

Nhưng S phần tử định dạng không thể xuất hiện ở cả hai đầu của mô hình định dạng. Nếu có, một lỗi xảy ra:

SELECT TO_CHAR(7, 'S9S')
FROM DUAL;

Kết quả:

Error report -
ORA-01481: invalid number format model

MI Định dạng phần tử

MI phần tử định dạng dấu âm ở cuối trong trường hợp số là số âm và dấu trống ở cuối khi số dương:

SELECT 
    TO_CHAR(-7, '9MI') AS "Negative",
    TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL;

Kết quả:

   Negative    Positive 
___________ ___________ 
7-          7          

Lưu ý rằng MI phần tử định dạng chỉ có thể xuất hiện ở vị trí cuối cùng của mô hình định dạng. Nếu nó ở bất kỳ vị trí nào khác, sẽ xảy ra lỗi:

SELECT TO_CHAR(7, 'MI9')
FROM DUAL;

Kết quả:

Error report -
ORA-01481: invalid number format model

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu kết quả của Kế hoạch Giải thích Thực thi trong Nhà phát triển SQL Oracle

  2. Ngày Oracle

  3. Cách kiểm tra thống kê cũ

  4. ORA-01097

  5. Oracle:DDL và khôi phục giao dịch