Dans Oracle Database, les paramètres NLS suivants peuvent être utilisés pour déterminer comment les devises sont affichées pour la session en cours :
NLS_CURRENCYspécifie la chaîne à utiliser comme symbole de devise locale pour leLélément de format numérique.NLS_ISO_CURRENCYdétermine quoi utiliser pour leCélément de format.NLS_DUAL_CURRENCYspécifie ce qu'il faut utiliser pour leUélément de format.
La valeur par défaut pour ceux-ci est déterminée par le NLS_TERRITORY paramètre.
Le L , C , et U les éléments de format numérique peuvent être utilisés dans des fonctions telles que TO_CHAR() pour formater un nombre en tant que devise.
Comment renvoyer le symbole monétaire
Vous pouvez savoir quel symbole de devise votre session actuelle utilise en interrogeant le V$NLS_PARAMETERS vue.
Exemple :
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_TERRITORY',
'NLS_CURRENCY',
'NLS_ISO_CURRENCY',
'NLS_DUAL_CURRENCY'
); Résultat :
PARAMETER VALUE ____________________ __________ NLS_TERRITORY GERMANY NLS_CURRENCY € NLS_ISO_CURRENCY GERMANY NLS_DUAL_CURRENCY €
La valeur par défaut de ces paramètres est dérivée du NLS_TERRITORY paramètre. Voici mon réglage actuel pour ce paramètre :
SELECT VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER = 'NLS_TERRITORY'; Résultat :
GERMANY
En modifiant ce paramètre, la valeur des autres paramètres sera mise à jour aux valeurs par défaut pour ce territoire (sauf si le nouveau territoire utilise la même valeur que l'ancien territoire pour un paramètre donné).
Cependant, vous pouvez également modifier directement chaque paramètre, ce qui vous permet d'avoir un symbole monétaire différent de celui par défaut pour ce territoire.
Éléments de format en action
Voici un exemple d'utilisation des paramètres NLS ci-dessus :
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; Résultat :
L C U
________________ _____________ ______________
kr45 DKK45 €45