In Oracle Database kunnen de volgende NLS-parameters worden gebruikt om te bepalen hoe valuta's worden weergegeven voor de huidige sessie:
NLS_CURRENCYspecificeert de tekenreeks die moet worden gebruikt als het lokale valutasymbool voor deLgetal formaat element.NLS_ISO_CURRENCYbepaalt wat te gebruiken voor deCformaatelement.NLS_DUAL_CURRENCYspecificeert wat te gebruiken voor deUformaatelement.
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