sql >> Databasteknik >  >> RDS >> Oracle

Ta reda på vilken valutasymbol din session använder i Oracle

I Oracle Database kan följande NLS-parametrar användas för att bestämma hur valutor visas för den aktuella sessionen:

  • NLS_CURRENCY anger strängen som ska användas som lokal valutasymbol för L nummerformatelement.
  • NLS_ISO_CURRENCY bestämmer vad som ska användas för C formatelement.
  • NLS_DUAL_CURRENCY anger vad som ska användas för U formatelement.

Standardvärdet för dessa bestäms av NLS_TERRITORY parameter.

L , C och U talformatelement kan användas i funktioner som TO_CHAR() för att formatera ett tal som en valuta.

Hur du returnerar valutasymbolen

Du kan ta reda på vilken valutasymbol din nuvarande session använder genom att fråga V$NLS_PARAMETERS visa.

Exempel:

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

Resultat:

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

Standardvärdet för dessa parametrar härleds av NLS_TERRITORY parameter. Här är min nuvarande inställning för den parametern:

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

Resultat:

GERMANY

Genom att ändra den parametern kommer värdet på de andra parametrarna att uppdateras till standardvärdena för det territoriet (såvida inte det nya området använder samma värde som det gamla området för en given parameter).

Men du kan också ändra varje parameter direkt, vilket gör att du kan ha en annan valutasymbol än standarden för det området.

Formatera element i funktion

Här är ett exempel på var ovanstående NLS-parametrar kan komma till användning:

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;

Resultat:

               L             C              U 
________________ _____________ ______________ 
         kr45         DKK45            €45   

  1. Hur man tar bort lagrad procedur i MySQL

  2. Hur kan jag ansluta till SQL Server från en Mac med PHP PDO?

  3. Hibernate 5 :- org.hibernate.MappingException:Okänd enhet

  4. God praxis att öppna/stänga anslutningar i en asp.net-applikation?