Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cari Tahu Simbol Mata Uang Yang Digunakan Sesi Anda di Oracle

Di Oracle Database, parameter NLS berikut dapat digunakan untuk menentukan bagaimana mata uang ditampilkan untuk sesi saat ini:

  • NLS_CURRENCY menentukan string yang akan digunakan sebagai simbol mata uang lokal untuk L elemen format angka.
  • NLS_ISO_CURRENCY menentukan apa yang akan digunakan untuk C elemen format.
  • NLS_DUAL_CURRENCY menentukan apa yang akan digunakan untuk U elemen format.

Nilai default untuk ini ditentukan oleh NLS_TERRITORY parameter.

L , C , dan U elemen format angka dapat digunakan dalam fungsi seperti TO_CHAR() untuk memformat angka sebagai mata uang.

Cara Mengembalikan Simbol Mata Uang

Anda dapat mengetahui simbol mata uang yang digunakan sesi Anda saat ini dengan menanyakan V$NLS_PARAMETERS lihat.

Contoh:

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

Hasil:

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

Nilai default parameter ini diturunkan oleh NLS_TERRITORY parameter. Inilah pengaturan saya saat ini untuk parameter itu:

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

Hasil:

GERMANY

Dengan mengubah parameter tersebut, nilai parameter lain akan diperbarui ke nilai default untuk wilayah tersebut (kecuali wilayah baru menggunakan nilai yang sama dengan wilayah lama untuk parameter tertentu).

Namun, Anda juga dapat mengubah setiap parameter secara langsung, yang memungkinkan Anda memiliki simbol mata uang yang berbeda dari simbol default untuk wilayah tersebut.

Memformat Elemen dalam Tindakan

Berikut adalah contoh di mana parameter NLS di atas dapat digunakan:

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;

Hasil:

               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. Cara Membuat Laporan PDF Menggunakan PL/SQL

  2. Memilih baris kedua dari tabel menggunakan rownum

  3. Apakah ada operator Oracle yang lebih baik untuk melakukan pemeriksaan kesetaraan nol-aman?

  4. Apa yang dilakukan tanda titik dua :dalam kueri SQL?

  5. Dapatkan Patchset Basis Data