À propos des paramètres NLS individuels
De nombreux paramètres NLS individuels sont disponibles.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur la configuration d'un environnement de prise en charge de la globalisation
À propos des paramètres régionaux et du paramètre NLS_LANG
Un environnement local est un environnement linguistique et culturel dans lequel s'exécute un système ou une application. Le moyen le plus simple de spécifier des paramètres régionaux pour le logiciel Oracle Database consiste à définir le paramètre NLS_LANG.
Le paramètre NLS_LANG définit les valeurs par défaut des paramètres NLS_LANGUAGE et NLS_TERRITORY pour la session serveur (par exemple, le traitement des instructions SQL) et l'application client (par exemple, afficher le formatage dans les outils Oracle Database). Le paramètre NLS_LANG définit également le jeu de caractères utilisé par l'application client pour les données entrées ou affichées.
La valeur par défaut de NLS_LANG est définie lors de l'installation de la base de données. Vous pouvez utiliser l'instruction ALTER SESSION pour modifier les valeurs des paramètres NLS, y compris celles définies par NLS_LANG, pour votre SESSION. Toutefois, seul le client peut modifier les paramètres NLS dans l'environnement client.
Voir aussi :
-
Guide de prise en charge de la globalisation pour Oracle Database pour plus d'informations sur la spécification d'un paramètre régional avec le paramètre
NLS_LANG -
Guide de prise en charge de la globalisation pour Oracle Database pour plus d'informations sur les langues, les territoires, les jeux de caractères et les autres données de paramètres régionaux prises en charge par Oracle Database
À propos du paramètre NLS_LANGUAGE
Ce paramètre spécifie la langue par défaut de la base de données.
Spécifie : Langue par défaut de la base de données. Conventions par défaut pour :
-
Langue des messages du serveur
-
Langue des noms et des abréviations de jours et de mois spécifiés dans les fonctions SQL TO_CHAR et TO_DATE
-
Symboles pour les équivalents de langue par défaut AM, PM, AD et BC
-
Ordre de tri par défaut pour les données de caractère lorsque la clause ORDER BY est spécifiée
-
Direction d'écriture
-
Chaînes de réponse positive et négative (par exemple, OUI et NON)
Valeurs acceptables : Tout nom de langue pris en charge par Oracle. Pour obtenir une liste, voir Guide de prise en charge de la globalisation pour Oracle Database.
Valeur par défaut : Définie par NLS_LANG, décrite dans "À propos des paramètres régionaux et du paramètre NLS_LANG".
Définit les valeurs par défaut de :
-
NLS_DATE_LANGUAGE, décrit dans "À propos du paramètre NLS_DATE_LANGUAGE".
-
NLS_SORT, décrit dans "À propos du paramètre NLS_SORT".
Exemple 7-1 montre comment le réglage de NLS_LANGUAGE à ITALIAN et GERMAN affecte les messages du serveur et les abréviations de mois.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-1 : NLS_LANGUAGE affecte les abréviations de message et de mois du serveur
-
Notez la valeur actuelle de NLS_LANGUAGE.
-
Si la valeur de l'étape 1 n'est pas
ITALIAN, modifiez-la :ALTER SESSION SET NLS_LANGUAGE=ITALIAN; -
Interrogez une table inexistante :
SELECT * FROM nonexistent_table;Résultat :
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: tabella o vista inesistente -
Exécutez l'interrogation suivante :
SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE EMPLOYEE_ID IN (111, 112, 113);Résultat :
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SET-97 Urman 07-MAR-98 Popp 07-DIC-99 3 rows selected. -
Remplacez la valeur de NLS_LANGUAGE par
GERMAN:ALTER SESSION SET NLS_LANGUAGE=GERMAN; -
Répétez l'interrogation à l'étape 3.
Résultat :
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: Tabelle oder View nicht vorhanden -
Répétez l'interrogation à l'étape 4.
Résultat :
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SEP-97 Urman 07-MRZ-98 Popp 07-DEZ-99 3 rows selected. - Réglez NLS_LANGUAGE à la valeur qu'il avait à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_LANGUAGE
À propos du paramètre NLS_TERRITORY
Ce paramètre spécifie les conventions par défaut pour le format de date, le format d'horodatage, le séparateur décimal et de groupe, le symbole de devise locale, le symbole de devise ISO et le symbole de devise double.
Précise : Conventions par défaut pour :
-
Format de date
-
Format d'heure
-
Caractère décimal et séparateur de groupe
-
Symbole de devise locale
-
Symbole de devise ISO
-
Symbole de double devise
Valeurs acceptables : Tout nom de territoire pris en charge par Oracle. Pour obtenir une liste, voir Guide de prise en charge de la globalisation pour Oracle Database.
Valeur par défaut : Définie par NLS_LANG, décrite dans "À propos des paramètres régionaux et du paramètre NLS_LANG".
Définit les valeurs par défaut de :
-
NLS_DATE_FORMAT, décrit dans "À propos du paramètre NLS_DATE_FORMAT".
-
NLS_TIMESTAMP_FORMAT et NLS_TIMESTAMP_TZ_FORMAT, décrits dans "À propos des paramètres NLS_TIMESTAMP_FORMAT et NLS_TIMESTAMP_TZ_FORMAT".
-
NLS_NUMERIC_CHARACTERS, décrit dans "À propos du paramètre NLS_NUMERIC_CHARACTERS". -
NLS_CURRENCY, décrit dans "À propos du paramètre NLS_CURRENCY".
-
NLS_ISO_CURRENCY, décrit dans "À propos du paramètre NLS_ISO_CURRENCY".
-
NLS_DUAL_CURRENCY, décrit dans "À propos du paramètre NLS_DUAL_CURRENCY".
Exemple 7-2 montre comment le réglage de NLS_TERRITORY à JAPAN et AMERICA affecte le symbole de devise.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-2 : NLS_TERRITORY affecte le symbole de devise
-
Notez la valeur actuelle de NLS_TERRITORY.
-
Si la valeur de l'étape 1 n'est pas
JAPAN, modifiez-la :ALTER SESSION SET NLS_TERRITORY=JAPAN; -
Exécutez l'interrogation suivante :
SELECT TO_CHAR(SALARY,'L99G999D99') SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID IN (100, 101, 102);Résultat :
SALARY -------------------- ©24,000.00 ©17,000.00 ©17,000.00 3 rows selected. -
Remplacez la valeur de
NLS_TERRITORYparAMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Répétez l'interrogation à l'étape 3.
Résultat :
SALARY -------------------- $24,000.00 $17,000.00 $17,000.00 3 rows selected. - Réglez
NLS_TERRITORYà la valeur qu'il avait à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_TERRITORY
À propos du paramètre NLS_DATE_FORMAT
Ce paramètre spécifie le format de date par défaut à utiliser avec les fonctions TO_CHAR et TO_DATE.
Spécifie : Format de date par défaut à utiliser avec les fonctions TO_CHAR et TO_DATE (introduites dans "Utilisation des fonctions de conversion dans les interrogations").
Valeurs acceptables : Tout modèle de format date-heure valide. Par exemple :
NLS_DATE_FORMAT='MM/DD/YYYY'
Pour plus d'informations sur les modèles de format date-heure, voir Informations de référence sur le langage SQL pour Oracle Database.
Valeur par défaut : Définie par NLS_TERRITORY, décrite dans "À propos du paramètre NLS_TERRITORY".
Le format de date par défaut peut ne pas correspondre à la convention utilisée dans un territoire donné. Pour obtenir des dates dans des formats localisés, vous pouvez utiliser les formats 'DS' (date courte) et 'DL' (date longue). Exemple 7-3 montre comment le réglage de NLS_TERRITORY à AMERICA et FRANCE affecte les formats de date par défaut, abrégée et longue. Exemple 7-4 modifie la valeur de NLS_DATE_FORMAT, remplaçant la valeur par défaut définie par NLS_TERRITORY.
Pour tester les exemples dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-3 : NLS_TERRITORY affecte les formats de date
-
Notez la valeur actuelle de NLS_TERRITORY.
-
Si la valeur de l'étape 1 n'est pas
AMERICA, modifiez-la :ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Exécutez l'interrogation suivante :
SELECT hire_date "Default", TO_CHAR(hire_date,'DS') "Short", TO_CHAR(hire_date,'DL') "Long" FROM employees WHERE employee_id IN (111, 112, 113);Résultat :
Default Short Long --------- ---------- ----------------------------- 30-SEP-05 9/30/2005 Friday, September 30, 2005 07-MAR-98 3/7/2006 Tuesday, March 07, 2006 07-DEC-99 12/7/2007 Friday, December 07, 2007 3 rows selected. -
Remplacez la valeur de NLS_TERRITORY par
FRANCE:ALTER SESSION SET NLS_TERRITORY=FRANCE; -
Répétez l'interrogation à l'étape 3.
Résultat :
Default Short Long -------- ---------- --------------------------- 30/09/05 30/09/2005 friday 30 september 2005 07/03/06 07/03/2006 tuesday 7 march 2006 07/12/07 07/12/2007 friday 7 december 2007 3 rows selected.(Pour obtenir les noms des jours et des mois en français, vous devez régler NLS_LANGUAGE ou NLS_DATE_LANGUAGE à
FRENCHavant d'exécuter l'interrogation.) - Réglez NLS_TERRITORY à la valeur qu'il avait à l'étape 1.
Exemple 7-4 : NLS_DATE_FORMAT remplace NLS_TERRITORY
-
Notez les valeurs courantes de NLS_TERRITORY et NLS_DATE_FORMAT.
-
Si la valeur de NLS_TERRITORY à l'étape 1 n'est pas
AMERICA, modifiez-la :ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Si la valeur de NLS_DATE_FORMAT à l'étape 1 n'est pas
'Day Month ddth', modifiez-la :ALTER SESSION SET NLS_DATE_FORMAT='Day Month ddth'; -
Exécutez cette interrogation (à partir de l'exemple précédent, étape 3) :
SELECT hire_date "Default", TO_CHAR(hire_date,'DS') "Short", TO_CHAR(hire_date,'DL') "Long" FROM employees WHERE employee_id IN (111, 112, 113);Résultat :
Default Short Long ------------------------ ---------- ----------------------------- Friday September 30th 9/30/2005 Tuesday, September 30, 2005 Tuesday March 07th 3/7/2006 Saturday, March 07, 2006 Friday December 07th 12/7/2007 Tuesday, December 07, 2007 3 rows selected. - Réglez NLS_TERRITORY et NLS_DATE_FORMAT aux valeurs qu'ils avaient à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_DATE_FORMAT
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur la fonction TO_CHAR
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur la fonction TO_DATE
À propos du paramètre NLS_DATE_LANGUAGE
Ce paramètre spécifie la langue pour les noms et les abréviations de jours et de mois générés par : les fonctions SQL TO_CHAR et TO_DATE, le format de date par défaut (défini par NLS_DATE_FORMAT) et les symboles pour les équivalents de langue par défaut AM, PM, AD et BC.
Précise : Langue des noms et des abréviations de jours et de mois produits par :
-
Fonctions SQL TO_CHAR et TO_DATE (introduites dans "Utilisation des fonctions de conversion dans les interrogations")
-
Format de date par défaut (défini par NLS_DATE_FORMAT, décrit dans "À propos du paramètre NLS_DATE_FORMAT")
-
Symboles pour les équivalents de langue par défaut AM, PM, AD et BC
Valeurs acceptables : Tout nom de langue pris en charge par Oracle. Pour obtenir une liste, voir Guide de prise en charge de la globalisation pour Oracle Database.
Valeur par défaut : Définie par NLS_LANGUAGE, décrite dans "À propos du paramètre NLS_LANGUAGE".
Exemple 7-5 montre comment le réglage de NLS_DATE_LANGUAGE à FRENCH et SWEDISH affecte la date système affichée.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-5 : NLS_DATE_LANGUAGE affecte SYSDATE affiché
-
Notez la valeur courante de NLS_DATE_LANGUAGE.
-
Si la valeur de NLS_DATE_LANGUAGE à l'étape 1 n'est pas
FRENCH, modifiez-la :ALTER SESSION SET NLS_DATE_LANGUAGE=FRENCH; -
Exécuter cette interrogation :
SELECT TO_CHAR(SYSDATE, 'Day:Dd Month yyyy') "System Date" FROM DUAL;Résultat :
System Date -------------------------- Vendredi:28 December 2012 -
Remplacez la valeur de NLS_DATE_LANGUAGE par
SWEDISH:ALTER SESSION SET NLS_DATE_LANGUAGE=SWEDISH; -
Répétez l'interrogation à l'étape 3.
Résultat :
System Date ------------------------- Fredag :28 December 2012 - Réglez
NLS_DATE_LANGUAGEà la valeur qu'il avait à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_DATE_LANGUAGE
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur la fonction TO_CHAR
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur la fonction y
À propos des paramètres NLS_TIMESTAMP_FORMAT et NLS_TIMESTAMP_TZ_FORMAT
Ce paramètre spécifie le format de date par défaut pour la bande audio TIMESTAMP et TIMESTAMP WITH LOCAL TIME ZONEaudiotapeTIMESTAMP WITH LOCAL TIME ZONEaudiotape.
Spécifier : Format de date par défaut pour :
-
Bande sonore TIMESTAMP
-
TIMESTAMP AVEC TEMPS LOCAL ZONEaudiotape
Valeurs acceptables : Tout modèle de format date-heure valide. Par exemple :
NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH:MI:SS.FF'
NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM'
Pour plus d'informations sur les modèles de format date-heure, voir Informations de référence sur le langage SQL pour Oracle Database.
Valeur par défaut : Définie par NLS_TERRITORY, décrite dans "À propos du paramètre NLS_TERRITORY".
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_TIMESTAMP_FORMAT
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_TIMESTAMP_TZ_FORMAT
-
Guide de prise en charge d'Oracle Database Globalization pour plus d'informations sur les types de données date/heure et les fuseaux horaires
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur la bande audio TIMESTAMP
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur le type de données TIMESTAMP WITH LOCAL TIME ZONE
À propos du paramètre NLS_CALENDAR
Ce paramètre spécifie le système de calendrier pour la base de données.
Précise : Système de calendrier pour la base de données.
Valeurs acceptables : Tout système de calendrier pris en charge par Oracle. Pour obtenir une liste, voir Guide de prise en charge de la globalisation pour Oracle Database.
Valeur par défaut : Gregorian
Exemple 7-6 montre comment le réglage de NLS_CALENDAR à 'English Hijrah' et Gregorian affecte la date système affichée.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-6 : NLS_CALENDAR affecte SYSDATE affiché
-
Notez la valeur actuelle de NLS_CALENDAR.
-
Si la valeur de NLS_CALENDAR à l'étape 1 n'est pas
'English Hijrah', modifiez-la :ALTER SESSION SET NLS_CALENDAR='English Hijrah'; -
Exécutez l'interrogation suivante :
SELECT SYSDATE FROM DUAL;Résultat :
SYSDATE ------------------------- 17 Safar 1434 -
Remplacez la valeur de NLS_CALENDAR par
'Gregorian':ALTER SESSION SET NLS_CALENDAR='Gregorian'; -
Exécutez l'interrogation suivante :
SELECT SYSDATE FROM DUAL;Résultat :
SYSDATE --------- 31-DEC-12 - Réglez NLS_CALENDAR à la valeur qu'il avait à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre
NLS_CALENDAR
À propos du paramètre NLS_NUMERIC_CHARACTERS
Ce paramètre spécifie le caractère décimal (qui sépare les parties entière et décimale d'un nombre) et le séparateur de groupe (qui sépare les groupes entiers pour afficher des milliers et des millions, par exemple). Le séparateur de groupe est le caractère renvoyé par l'élément de format numérique G.
Spécifie : Caractère décimal (qui sépare le nombre entier et les parties décimales d'un nombre) et séparateur de groupe (qui sépare les groupes entiers pour afficher des milliers et des millions, par exemple). Le séparateur de groupe est le caractère renvoyé par l'élément de format numérique G.
Valeurs acceptables : Deux caractères d'un octet différents, sauf :
-
Caractère numérique
-
Plus (+)
-
Moins (-)
-
Inférieur à (<)
-
Supérieur à (>)
Valeur par défaut : Définie par NLS_TERRITORY, décrite dans "À propos du paramètre NLS_TERRITORY".
Dans une instruction SQL, vous pouvez représenter un nombre comme suit :
-
Littéral numérique
Un littéral numérique n'est pas entre guillemets, utilise toujours un point (.) comme caractère décimal et ne contient jamais de séparateur de groupe.
-
Littéral de texte
Un littéral de texte est placé entre apostrophes. Il est converti implicitement ou explicitement en un nombre, si nécessaire, en fonction des paramètres NLS actuels.
Exemple 7-7 montre comment deux paramètres NLS_NUMERIC_CHARACTERS différents affectent le résultat affiché de la même interrogation.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-7 : NLS_NUMERIC_CHARACTERS affecte le séparateur de caractères décimaux et de groupes
-
Notez la valeur courante de NLS_NUMERIC_CHARACTERS.
-
Si la valeur de NLS_NUMERIC_CHARACTERS à l'étape 1 n'est pas
",."(le caractère décimal est une virgule et le séparateur de groupe est un point), utilisez la commande suivante pour la modifier :ALTER SESSION SET NLS_NUMERIC_CHARACTERS=",."; -
Exécutez l'interrogation suivante :
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Résultat :
Number --------- 4.000,00 -
Remplacez la valeur de NLS_NUMERIC_CHARACTERS par
",."(le caractère décimal est un point et le séparateur de groupe est une virgule) :ALTER SESSION SET NLS_NUMERIC_CHARACTERS=".,"; -
Exécutez l'interrogation suivante :
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Résultat :
Number --------- 4,000.00 - Réglez NLS_NUMERIC_CHARACTERS à la valeur qu'il avait à l'étape 1.
Voir aussi :
-
Guide sur la prise en charge de la globalisation dans Oracle Database pour plus d'informations sur le paramètre NLS_NUMERIC_CHARACTERS
À propos du paramètre NLS_CURRENCY
Ce paramètre spécifie le symbole de devise locale (chaîne de caractères retournée par l'élément de format numérique L).
Précise : Symbole de devise locale (chaîne de caractères retournée par l'élément de format numérique L).
Valeurs acceptables : Toute chaîne de symbole de devise valide.
Valeur par défaut : Définie par NLS_TERRITORY, décrite dans "À propos du paramètre NLS_TERRITORY".
Exemple 7-8 modifie la valeur de NLS_CURRENCY, remplaçant la valeur par défaut définie par NLS_TERRITORY. Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-8 : NLS_CURRENCY remplace NLS_TERRITORY
-
Notez les valeurs courantes de NLS_TERRITORY et NLS_CURRENCY.
-
Si la valeur de NLS_TERRITORY à l'étape 1 n'est pas
AMERICA, modifiez-la :ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Exécuter cette interrogation :
SELECT TO_CHAR(salary, 'L099G999D99') "Salary" FROM EMPLOYEES WHERE salary > 13000;Résultat :
Salary --------------------- $024,000.00 $017,000.00 $017,000.00 $014,000.00 $013,500.00 -
Remplacez la valeur de NLS_CURRENCY par
'©':ALTER SESSION SET NLS_CURRENCY='©'; -
Exécuter cette interrogation :
SELECT TO_CHAR(salary, 'L099G999D99') "Salary" FROM EMPLOYEES WHERE salary > 13000;Résultat :
Salary --------------------- ©024,000.00 ©017,000.00 ©017,000.00 ©014,000.00 ©013,500.00 - Réglez NLS_TERRITORY et NLS_CURRENCY aux valeurs qu'ils avaient à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_CURRENCY
À propos du paramètre NLS_ISO_CURRENCY
Ce paramètre spécifie le symbole de devise ISO (chaîne retournée par l'élément de format numérique C).
Spécifie : Symbole de devise ISO (chaîne de caractères retournée par l'élément de format numérique C).
Valeurs acceptables : Toute chaîne de symbole de devise valide.
Valeur par défaut : Définie par NLS_TERRITORY, décrite dans "À propos du paramètre NLS_TERRITORY".
Les symboles de devise locale peuvent être ambigus, mais les symboles de devise ISO sont uniques. Exemple 7-9 montre que les territoires AUSTRALIA et AMERICA ont le même symbole de devise locale, mais des symboles de devise ISO différents.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-9 : NLS_ISO_CURRENCY
-
Notez les valeurs courantes de NLS_TERRITORY et NLS_ISO_CURRENCY.
-
Si la valeur de NLS_TERRITORY à l'étape 1 n'est pas
AUSTRALIA, modifiez-la :ALTER SESSION SET NLS_TERRITORY=AUSTRALIA; -
Exécutez l'interrogation suivante :
SELECT TO_CHAR(salary, 'L099G999D99') "Local", TO_CHAR(salary, 'C099G999D99') "ISO" FROM EMPLOYEES WHERE salary > 15000;Résultat :
Local ISO --------------------- ------------------ $024,000.00 AUD024,000.00 $017,000.00 AUD017,000.00 $017,000.00 AUD017,000.00 -
Remplacez la valeur de NLS_TERRITORY par
AMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Exécutez l'interrogation suivante :
SELECT TO_CHAR(salary, 'L099G999D99') "Local", TO_CHAR(salary, 'C099G999D99') "ISO" FROM EMPLOYEES WHERE salary > 15000;Résultat :
Local ISO --------------------- ------------------ $024,000.00 USD024,000.00 $017,000.00 USD017,000.00 $017,000.00 USD017,000.00 - Réglez NLS_TERRITORY et NLS_ISO_CURRENCY aux valeurs qu'ils avaient à l'étape 1.
Voir aussi :
-
Oracle Database Globalization Support Guide pour plus d'informations sur le paramètre NLS_ISO_CURRENCY
À propos du paramètre NLS_DUAL_CURRENCY
Ce paramètre spécifie le symbole de double devise (introduit pour prendre en charge le symbole de la monnaie euro pendant la période de transition de l'euro).
Précise : Symbole de devise double (introduit pour prendre en charge le symbole de devise euro pendant la période de transition de l'euro).
Valeurs acceptables : Toute chaîne de symbole de devise valide.
Valeur par défaut : Définie par NLS_TERRITORY, décrite dans "À propos du paramètre NLS_TERRITORY".
Voir aussi :
-
Guide de prise en charge de la globalisation Oracle Database pour plus d'informations sur le paramètre NLS_DUAL_CURRENCY
À propos du paramètre NLS_SORT
Ce paramètre spécifie l'ordre de tri linguistique (séquence de regroupement) pour les interrogations ayant la clause ORDER BY.
Précise : Ordre de tri linguistique (séquence de regroupement) pour les interrogations qui ont la clause ORDER BY.
Valeurs acceptables :
-
BINARYL'ordre de tri est basé sur l'ordre de séquence binaire du jeu de caractères de base de données ou du jeu de caractères national, selon le type de données.
-
Tout nom de tri linguistique pris en charge par Oracle
L'ordre de tri est basé sur l'ordre du nom de tri linguistique spécifié. Le nom de tri linguistique est généralement le même que le nom de la langue, mais pas toujours. Pour obtenir la liste des noms de tri linguistiques pris en charge, voir Oracle Database Globalization Support Guide.
Valeur par défaut : Définie par NLS_LANGUAGE, décrite dans "À propos du paramètre NLS_LANGUAGE".
Exemple 7-10 montre comment deux paramètres NLS_SORT différents affectent le résultat affiché de la même interrogation. Les paramètres sont BINARY et l'espagnol traditionnel (SPANISH_M). L'espagnol traditionnel traite ch, ll et ñ comme des lettres qui suivent c, l et n, respectivement.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Tris non sensibles à la casse et non sensibles à l'accent
Les opérations dans Oracle Database sont sensibles à la casse et aux accents des caractères. Pour effectuer un tri non sensible à la casse, ajoutez _CI à la valeur du paramètre NLS_SORT (par exemple, BINARY_CI ou GERMAN_CI). Pour effectuer un tri non sensible à la casse et non sensible à l'accentuation, ajoutez _AI à la valeur du paramètre NLS_SORT (par exemple, BINARY_AI ou FRENCH_M_AI).
Exemple 7-10 : NLS_SORT affecte l'ordre de tri linguistique
-
Créez un tableau pour les mots espagnols :
CREATE TABLE temp (name VARCHAR2(15)); -
Remplissez la table avec quelques mots en espagnol :
INSERT INTO temp (name) VALUES ('laguna'); INSERT INTO temp (name) VALUES ('llama'); INSERT INTO temp (name) VALUES ('loco'); -
Notez la valeur actuelle de NLS_SORT.
-
Si la valeur de NLS_SORT à l'étape 3 n'est pas
BINARY, modifiez-la :ALTER SESSION SET NLS_SORT=BINARY; -
Exécutez l'interrogation suivante :
SELECT * FROM temp ORDER BY name;Résultat :
NAME --------------- laguna llama loco -
Remplacez la valeur de NLS_SORT par
SPANISH_M(espagnol traditionnel) :ALTER SESSION SET NLS_SORT=SPANISH_M; -
Répétez l'interrogation à l'étape 5.
Résultat :
NAME --------------- laguna loco llama -
Supprimez la table :
DROP TABLE temp; - Réglez NLS_SORT à la valeur qu'il avait à l'étape 3.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre
NLS_SORT -
Oracle Database Globalization Support Guide pour plus d'informations sur les tris non sensibles à la casse et aux accents
-
"À propos du tri linguistique et de la recherche de chaînes"
À propos du paramètre NLS_COMP
Ce paramètre spécifie le comportement de comparaison de caractères des opérations SQL.
Spécifie : Comportement de comparaison de caractères des opérations SQL.
Valeurs acceptables :
-
BINARYSQL compare les codes binaires des caractères. Un caractère est plus grand qu'un autre s'il a un code binaire plus élevé.
-
LINGUISTICSQL effectue une comparaison linguistique basée sur la valeur du paramètre
NLS_SORT, décrite dans "À propos du paramètre NLS_SORT". -
ANSICette valeur n'est fournie que pour une compatibilité descendante.
Valeur par défaut : BINARY
Exemple 7-11 montre que le résultat d'une interrogation peut dépendre du paramètre NLS_COMP.
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-11 : NLS_COMP affecte la comparaison de caractères SQL
-
Notez les valeurs courantes de NLS_SORT et NLS_COMP.
-
Si les valeurs de NLS_SORT et NLS_COMP à l'étape 1 ne sont pas
SPANISH_M(espagnol traditionnel) etBINARY, respectivement, modifiez-les :ALTER SESSION SET NLS_SORT=SPANISH_M NLS_COMP=BINARY; -
Exécutez l'interrogation suivante :
SELECT LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE 'C%';Résultat :
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Chen Chung Colmenares 6 rows selected -
Remplacez la valeur de NLS_COMP par
LINGUISTIC:ALTER SESSION SET NLS_COMP=LINGUISTIC; -
Répétez l'interrogation à l'étape 3.
Résultat :
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Colmenares 4 rows selectedCette fois, Chen et Chung ne sont pas retournés car l'espagnol traditionnel traite
chcomme un seul caractère qui suitc. - Réglez NLS_SORT et NLS_COMP aux valeurs qu'ils avaient à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_COMP
-
"À propos du tri linguistique et de la recherche de chaînes"
À propos du paramètre NLS_LENGTH_SEMANTICS
Ce paramètre spécifie la sémantique de longueur pour les colonnes des types de données de caractère CHAR, VARCHAR2 et LONG, c'est-à-dire si ces colonnes sont spécifiées en octets ou en caractères. (S'applique uniquement aux colonnes déclarées après la définition du paramètre.)
Précise : Sémantique de longueur pour les colonnes des types de données de caractère CHAR, VARCHAR2 et LONG; c'est-à-dire si ces colonnes sont spécifiées en octets ou en caractères. (S'applique uniquement aux colonnes déclarées après la définition du paramètre.)
Valeurs acceptables :
-
BYTELes nouvelles colonnes CHAR, VARCHAR2 et LONG sont indiquées en octets.
-
CHARLes nouvelles colonnes CHAR, VARCHAR2 et LONG sont spécifiées en caractères.
Valeur par défaut : BYTE
Pour essayer cet exemple dans SQL Developer, entrez les instructions et les interrogations dans la feuille de calcul. Pour plus d'informations sur la feuille de calcul, voir "Exécution d'interrogations dans SQL Developer". Les résultats présentés ici proviennent de SQL*Plus. Leur format est légèrement différent dans SQL Developer.
Exemple 7-12 : NLS_LENGTH_SEMANTICS affecte le stockage de la colonne VARCHAR2
-
Notez les valeurs courantes de NLS_LENGTH_SEMANTICS.
-
Si la valeur de NLS_LENGTH_SEMANTICS à l'étape 1 n'est pas
BYTE, modifiez-la :ALTER SESSION SET NLS_LENGTH_SEMANTICS=BYTE; -
Créez une table avec une colonne VARCHAR2 :
CREATE TABLE SEMANTICS_BYTE(SOME_DATA VARCHAR2(20)); -
Cliquez sur l'onglet Connexions.
-
Dans le cadre Connexions, développez hr_conn.
-
Dans la liste des types d'objet de schéma, développez Tables.
-
Dans la liste des tables, sélectionnez SEMANTICS_BYTE.
À droite du cadre Connexions, le volet Colonnes indique que pour le nom de colonne SOME_DATA, le type de données est
VARCHAR2(20 BYTE). -
Remplacez la valeur de NLS_LENGTH_SEMANTICS par
CHAR:ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR; -
Créez une autre table avec une colonne VARCHAR2 :
CREATE TABLE SEMANTICS_CHAR(SOME_DATA VARCHAR2(20)); -
Dans le cadre Connexions, cliquez sur l'icône Actualiser.
La liste des tables comprend désormais SEMANTICS_CHAR.
-
Sélectionnez SEMANTICS_CHAR.
Le volet Colonnes indique que pour le nom de colonne SOME_DATA, le type de données est
VARCHAR2(20 CHAR). -
Sélectionnez à nouveau SEMANTICS_BYTE.
Le volet Colonnes montre que pour le nom de colonne SOME_DATA, le type de données est toujours
VARCHAR2(20 BYTE). - Réglez la valeur de NLS_LENGTH_SEMANTICS à la valeur qu'elle avait à l'étape 1.
Voir aussi :
-
Guide de prise en charge de la globalisation d'Oracle Database pour plus d'informations sur le paramètre NLS_LENGTH_SEMANTICS