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 deL
getal formaat element.NLS_ISO_CURRENCY
bepaalt wat te gebruiken voor deC
formaatelement.NLS_DUAL_CURRENCY
specificeert wat te gebruiken voor deU
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