I Oracle Database kan følgende NLS-parametre bruges til at bestemme, hvordan valutaer vises for den aktuelle session:
NLS_CURRENCYangiver den streng, der skal bruges som det lokale valutasymbol forLtalformatelement.NLS_ISO_CURRENCYbestemmer, hvad der skal bruges tilCformatelement.NLS_DUAL_CURRENCYangiver, hvad der skal bruges tilUformatelement.
Standardværdien for disse bestemmes af NLS_TERRITORY parameter.
L , C og U talformatelementer kan bruges i funktioner som TO_CHAR() for at formatere et tal som en valuta.
Sådan returnerer du valutasymbolet
Du kan finde ud af, hvilket valutasymbol din aktuelle session bruger ved at forespørge på V$NLS_PARAMETERS se.
Eksempel:
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ærdien af disse parametre er afledt af NLS_TERRITORY parameter. Her er min nuværende indstilling for denne parameter:
SELECT VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER = 'NLS_TERRITORY'; Resultat:
GERMANY
Ved at ændre denne parameter vil værdien af de andre parametre blive opdateret til standardværdierne for det pågældende område (medmindre det nye område bruger samme værdi som det gamle område for en given parameter).
Du kan dog også ændre hver parameter direkte, hvilket giver dig mulighed for at have et andet valutasymbol end standardsymbolet for det pågældende område.
Formatér elementer i aktion
Her er et eksempel på, hvor ovenstående NLS-parametre kan komme i brug:
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