I Oracle Database kan følgende NLS-parametre bruges til at bestemme, hvordan valutaer vises for den aktuelle session:
NLS_CURRENCY
angiver den streng, der skal bruges som det lokale valutasymbol forL
talformatelement.NLS_ISO_CURRENCY
bestemmer, hvad der skal bruges tilC
formatelement.NLS_DUAL_CURRENCY
angiver, hvad der skal bruges tilU
formatelement.
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