Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Finden Sie heraus, welches Währungssymbol Ihre Sitzung in Oracle verwendet

In Oracle Database können die folgenden NLS-Parameter verwendet werden, um festzulegen, wie Währungen für die aktuelle Sitzung angezeigt werden:

  • NLS_CURRENCY gibt die Zeichenfolge an, die als lokales Währungssymbol für L verwendet werden soll Zahlenformatelement.
  • NLS_ISO_CURRENCY bestimmt, was für C verwendet werden soll format-Element.
  • NLS_DUAL_CURRENCY gibt an, was für U verwendet werden soll format-Element.

Der Standardwert dafür wird durch das NLS_TERRITORY bestimmt Parameter.

Das L , C , und U Zahlenformatelemente können in Funktionen wie TO_CHAR() verwendet werden um eine Zahl als Währung zu formatieren.

So geben Sie das Währungssymbol zurück

Sie können herausfinden, welches Währungssymbol Ihre aktuelle Sitzung verwendet, indem Sie V$NLS_PARAMETERS abfragen ansehen.

Beispiel:

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

Ergebnis:

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

Der Standardwert dieser Parameter wird von NLS_TERRITORY abgeleitet Parameter. Hier ist meine aktuelle Einstellung für diesen Parameter:

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

Ergebnis:

GERMANY

Durch Ändern dieses Parameters werden die Werte der anderen Parameter auf die Standardwerte für dieses Gebiet aktualisiert (es sei denn, das neue Gebiet verwendet denselben Wert wie das alte Gebiet für einen bestimmten Parameter).

Sie können jedoch auch jeden Parameter direkt ändern, wodurch Sie ein anderes Währungssymbol als das Standardwährungssymbol für dieses Gebiet haben können.

Formatelemente in Aktion

Hier ist ein Beispiel dafür, wo die oben genannten NLS-Parameter verwendet werden können:

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;

Ergebnis:

               L             C              U 
________________ _____________ ______________ 
         kr45         DKK45            €45