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

Tìm hiểu ký hiệu tiền tệ mà phiên của bạn sử dụng trong Oracle

Trong Cơ sở dữ liệu Oracle, các tham số NLS sau có thể được sử dụng để xác định cách hiển thị tiền tệ cho phiên hiện tại:

  • NLS_CURRENCY chỉ định chuỗi để sử dụng làm ký hiệu nội tệ cho L phần tử định dạng số.
  • NLS_ISO_CURRENCY xác định những gì sẽ sử dụng cho C phần tử định dạng.
  • NLS_DUAL_CURRENCY chỉ định những gì sẽ sử dụng cho U phần tử định dạng.

Giá trị mặc định cho những thứ này được xác định bởi NLS_TERRITORY tham số.

L , CU các phần tử định dạng số có thể được sử dụng trong các hàm như TO_CHAR() để định dạng một số dưới dạng đơn vị tiền tệ.

Cách trả lại ký hiệu tiền tệ

Bạn có thể tìm ra ký hiệu tiền tệ mà phiên hiện tại của bạn sử dụng bằng cách truy vấn V$NLS_PARAMETERS xem.

Ví dụ:

SELECT 
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_TERRITORY',
    'NLS_CURRENCY',
    'NLS_ISO_CURRENCY',
    'NLS_DUAL_CURRENCY'    
    );

Kết quả:

           PARAMETER      VALUE 
____________________ __________ 
NLS_TERRITORY        GERMANY    
NLS_CURRENCY         €          
NLS_ISO_CURRENCY     GERMANY    
NLS_DUAL_CURRENCY    €         

Giá trị mặc định của các tham số này được lấy bởi NLS_TERRITORY tham số. Đây là cài đặt hiện tại của tôi cho thông số đó:

SELECT VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER = 'NLS_TERRITORY';

Kết quả:

GERMANY

Bằng cách thay đổi tham số đó, giá trị của các tham số khác sẽ được cập nhật thành giá trị mặc định cho lãnh thổ đó (trừ khi lãnh thổ mới sử dụng cùng giá trị với lãnh thổ cũ cho một tham số nhất định).

Tuy nhiên, bạn cũng có thể thay đổi trực tiếp từng tham số, điều này cho phép bạn có ký hiệu tiền tệ khác với ký hiệu mặc định cho lãnh thổ đó.

Phần tử định dạng đang hoạt động

Dưới đây là một ví dụ về nơi các thông số NLS ở trên có thể được sử dụng:

ALTER SESSION SET NLS_TERRITORY = 'DENMARK';

SELECT 
    TO_CHAR(45, 'L99') AS "L",
    TO_CHAR(45, 'C99') AS "C",
    TO_CHAR(45, 'U99') AS "U"
FROM DUAL;

Kết quả:

               L             C              U 
________________ _____________ ______________ 
         kr45         DKK45            €45   

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm RTRIM () trong Oracle

  2. Ví dụ về công việc DBMS_SCHEDULER Chạy mỗi giờ

  3. Hàm HEXTORAW () trong Oracle

  4. Lỗi khi cố gắng truy xuất văn bản do lỗi ORA-01804

  5. Nhiều câu lệnh SQL chèn