sql >> Database >  >> RDS >> Oracle

Ontdek welk valutasymbool uw sessie gebruikt in Oracle

In Oracle Database kunnen de volgende NLS-parameters worden gebruikt om te bepalen hoe valuta's worden weergegeven voor de huidige sessie:

  • NLS_CURRENCY specificeert de tekenreeks die moet worden gebruikt als het lokale valutasymbool voor de L getal formaat element.
  • NLS_ISO_CURRENCY bepaalt wat te gebruiken voor de C formaatelement.
  • NLS_DUAL_CURRENCY specificeert wat te gebruiken voor de U formaatelement.

De standaardwaarde hiervoor wordt bepaald door de NLS_TERRITORY parameter.

De L , C , en U getalnotatie-elementen kunnen worden gebruikt in functies zoals TO_CHAR() om een ​​getal als valuta op te maken.

Het valutasymbool retourneren

U kunt erachter komen welk valutasymbool uw huidige sessie gebruikt door de V$NLS_PARAMETERS op te vragen. bekijken.

Voorbeeld:

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

Resultaat:

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

De standaardwaarde van deze parameters wordt afgeleid door de NLS_TERRITORY parameter. Dit is mijn huidige instelling voor die parameter:

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

Resultaat:

GERMANY

Door die parameter te wijzigen, wordt de waarde van de andere parameters bijgewerkt naar de standaardwaarden voor dat territorium (tenzij het nieuwe territorium dezelfde waarde gebruikt als het oude territorium voor een bepaalde parameter).

U kunt elke parameter echter ook rechtstreeks wijzigen, waardoor u een ander valutasymbool kunt gebruiken dan het standaardsymbool voor dat gebied.

Elementen opmaken in actie

Hier is een voorbeeld van waar de bovenstaande NLS-parameters van pas kunnen komen:

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;

Resultaat:

               L             C              U 
________________ _____________ ______________ 
         kr45         DKK45            €45   

  1. Hoe items in door komma's gescheiden lijst te tellen MySQL

  2. Hoe PostgreSQL in een Docker-container te controleren:deel twee

  3. Gebruik string bevat functie in Oracle SQL-query

  4. Het verzoek is mislukt met HTTP-status 401:Ongeautoriseerd IN SSRS