Informazioni sui singoli parametri NLS
Sono disponibili numerosi parametri NLS individuali.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sull'impostazione di un ambiente di supporto alla globalizzazione
Informazioni sulle impostazioni nazionali e sul parametro NLS_LANG
Un'impostazione nazionale è un ambiente linguistico e culturale in cui viene eseguito un sistema o un'applicazione. Il modo più semplice per specificare un'impostazione nazionale per i software Oracle Database è impostare il parametro NLS_LANG.
Il parametro NLS_LANG imposta i valori predefiniti dei parametri NLS_LANGUAGE e NLS_TERRITORY sia per le sessioni del server (ad esempio, l'elaborazione dell'istruzione SQL) che Per l'applicazione client (ad esempio, la visualizzazione di formattazione negli strumenti di Oracle Database). Il parametro NLS_LANG imposta anche il set di caratteri utilizzato dall'applicazione client per dati immessi o visualizzati.
Il valore predefinito di NLS_LANG viene impostato durante l'installazione del database. È possibile utilizzare l'istruzione ALTER SESSION per modificare i valori dei parametri NLS, inclusi quelli impostati da NLS_LANG, per la propria sessione. Tuttavia, soltanto il client può modificare le impostazioni NLS nell'ambiente client.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni su come specificare le impostazioni nazionali con il parametro
NLS_LANG -
Oracle Database Globalization Support Guide per informazioni sulle lingue, i territori, i set di caratteri e altri dati relativi all'impostazione nazionale supportati da Oracle Database
Informazioni sul parametro NLS_LANGUAGE
Questo parametro specifica la lingua predefinita del database.
Specifica: lingua di default del database. Le convenzioni predefinite per:
-
la lingua per i messaggi del server;
-
Lingua per i nomi e le abbreviazioni di giorni e mesi specificati nelle funzioni SQL TO_CHAR e TO_DATE
-
Simboli per gli equivalenti della lingua predefinita di AM, PM, AD e BC
-
l'ordinamento predefinito per il dato carattere quando viene specificata la clausola ORDER BY;
-
la direzione della scrittura;
-
stringhe di risposta affermativa e negativa, ad esempio SÌ e NO.
Valori accettabili: qualsiasi nome di lingua supportata da Oracle. Per una lista, vedere Oracle Database Globalization Support Guide.
Valore predefinito: impostato da NLS_LANG, descritto in "Informazioni sulle impostazioni nazionali e sul parametro NLS_LANG".
Imposta i valori predefiniti di:
-
NLS_DATE_LANGUAGE, descritto in "Informazioni sul valore del parametro NLS_DATE_LANGUAGE".
-
NLS_SORT, descritto in "Informazioni sul valore del parametro NLS_SORT".
Nell'Esempio 7-1 viene illustrato in che modo l'impostazione di NLS_LANGUAGE su ITALIAN e GERMAN influisce sui messaggi e le abbreviazioni dei mesi del server.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
NLS_LANGUAGE influisce sui messaggi del server e sulle abbreviazioni del mese dell'esempio 7-1
-
Notare il valore corrente di NLS_LANGUAGE.
-
Se il valore nel passo 1 non è
ITALIAN, modificarlo:ALTER SESSION SET NLS_LANGUAGE=ITALIAN; -
Eseguire una query su una tabella non esistente:
SELECT * FROM nonexistent_table;Risultato:
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: tabella o vista inesistente -
Eseguire la seguente query:
SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE EMPLOYEE_ID IN (111, 112, 113);Risultato:
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SET-97 Urman 07-MAR-98 Popp 07-DIC-99 3 rows selected. -
Modificare il valore di NLS_LANGUAGE in
GERMAN:ALTER SESSION SET NLS_LANGUAGE=GERMAN; -
Ripetere l'interrogazione dal passo 3.
Risultato:
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: Tabelle oder View nicht vorhanden -
Ripetere l'interrogazione dal passo 4.
Risultato:
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SEP-97 Urman 07-MRZ-98 Popp 07-DEZ-99 3 rows selected. - Impostare NLS_LANGUAGE sul valore che aveva al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_LANGUAGE
Informazioni sul parametro NLS_TERRITORY
Questo parametro specifica le convenzioni predefinite per il formato della data, il formato dell'indicatore orario, il separatore decimale e di gruppo, il simbolo della valuta locale, il simbolo della valuta ISO e il simbolo della doppia valuta.
Specifica: le convenzioni predefinite per quanto segue.
-
Formato data
-
Formato data/ora
-
Separatore per le migliaia e i decimali
-
Simbolo di valuta locale
-
Simbolo di valuta ISO
-
Simbolo di valuta alternativa
Valori accettabili: qualsiasi nome di area supportato da Oracle. Per una lista, vedere Oracle Database Globalization Support Guide.
Valore predefinito: impostato da NLS_LANG, descritto in "Informazioni sulle impostazioni nazionali e sul parametro NLS_LANG".
Imposta i valori predefiniti di:
-
NLS_DATE_FORMAT, descritto in "Informazioni sul valore del parametro NLS_DATE_FORMAT".
-
NLS_TIMESTAMP_FORMAT e NLS_TIMESTAMP_TZ_FORMAT, descritti in "Informazioni sui parametri NLS_TIMESTAMP_FORMAT e NLS_TIMESTAMP_TZ_FORMAT".
-
NLS_NUMERIC_CHARACTERS, descritto in "Informazioni sul valore del parametro NLS_NUMERIC_CHARACTERS". -
NLS_CURRENCY, descritto in "Informazioni sul parametri NLS_CURRENCY".
-
NLS_ISO_CURRENCY, descritto in "Informazioni sul valore del parametro NLS_ISO_CURRENCY".
-
NLS_DUAL_CURRENCY, descritto in "Informazioni sul valore del parametro NLS_DUAL_CURRENCY".
Nell'Esempio 7-2 viene illustrato in che modo l'impostazione di NLS_TERRITORY su JAPAN e AMERICA influisce sul simbolo di valuta.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Esempio 7-2 NLS_TERRITORY influisce sul simbolo valuta
-
Notare il valore corrente di NLS_TERRITORY.
-
Se il valore nel passo 1 non è
JAPAN, modificarlo:ALTER SESSION SET NLS_TERRITORY=JAPAN; -
Eseguire la seguente query:
SELECT TO_CHAR(SALARY,'L99G999D99') SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID IN (100, 101, 102);Risultato:
SALARY -------------------- ©24,000.00 ©17,000.00 ©17,000.00 3 rows selected. -
Modificare il valore di
NLS_TERRITORYinAMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Ripetere l'interrogazione dal passo 3.
Risultato:
SALARY -------------------- $24,000.00 $17,000.00 $17,000.00 3 rows selected. - Impostare
NLS_TERRITORYsul valore che aveva al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_TERRITORY
Informazioni sul parametro NLS_DATE_FORMAT
Questo parametro specifica il formato data predefinito da utilizzare con le funzioni TO_CHAR e TO_DATE.
Specifica: il formato data predefinito da utilizzare con le funzioni TO_CHAR e TO_DATE (descritte in "Uso delle funzione di conversione nelle query").
Valori accettabili: qualsiasi modello di formato Datetime valido. Ad esempio:
NLS_DATE_FORMAT='MM/DD/YYYY'
Per informazioni sui modelli di formati DateTime, vedere Oracle Database SQL Language Reference.
Valore predefinito: impostato da NLS_TERRITORY, descritto in "Informazioni sul parametro NLS_TERRITORY".
Il formato della data predefinito potrebbe non corrispondere alle convenzioni utilizzate in un determinato territorio. Per ottenere le date nei formati localizzati, è possibile utilizzare i formati 'DS' (data abbreviata) e 'DL' (data lunga). Nell'Esempio 7-3 viene illustrato in che modo l'impostazione di NLS_TERRITORY su AMERICA e FRANCE influisce sui formati della data predefinita, breve e lungo. L'Esempio 7-4 modifica il valore di NLS_DATE_FORMAT, sostituendo il valore predefinito impostato da NLS_TERRITORY.
Per provare gli esempi in SQL Developer, immettere le istruzioni e le query nel foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Esempio 7-3 NLS_TERRITORY influisce sui formati data
-
Notare il valore corrente di NLS_TERRITORY.
-
Se il valore nel passo 1 non è
AMERICA, modificarlo:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Eseguire la seguente query:
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);Risultato:
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. -
Modificare il valore di NLS_TERRITORY in
FRANCE:ALTER SESSION SET NLS_TERRITORY=FRANCE; -
Ripetere l'interrogazione dal passo 3.
Risultato:
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.Per ottenere i nomi dei giorni e dei mesi in francese, è necessario impostare NLS_LANGUAGE o NLS_DATE_LANGUAGE su
FRENCHprima dell'esecuzione della query. - Impostare NLS_TERRITORY sul valore che aveva al passo 1.
Esempio 7-4 NLS_DATE_FORMAT Sostituisce NLS_TERRITORY
-
Notare i valori correnti di NLS_TERRITORY e NLS_DATE_FORMAT.
-
Se il valore di NLS_TERRITORY nel passo 1 non è
AMERICA, modificarlo:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Se il valore di NLS_DATE_FORMAT al passo 1 non è
'Day Month ddth', modificarlo:ALTER SESSION SET NLS_DATE_FORMAT='Day Month ddth'; -
Eseguire la seguente query (dall'esempio precedente, passo 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);Risultato:
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. - Impostare NLS_TERRITORY e NLS_DATE_FORMAT sui valori che avevano al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_DATE_FORMAT
-
Oracle Database SQL Language Reference per ulteriori informazioni sulla funzione TO_CHAR
-
Oracle Database SQL Language Reference per ulteriori informazioni sulla funzione TO_DATE
Informazioni sul parametro NLS_DATE_LANGUAGE
Questo parametro specifica la lingua per i nomi e le abbreviazioni dei giorni e dei mesi prodotti dalle funzioni SQL TO_CHAR e TO_DATE, il formato data predefinito (impostato da NLS_DATE_FORMAT) e i simboli per gli equivalenti della lingua predefinita di AM, PM, AD e BC.
Specifica: la lingua per nomi e abbreviazioni dei giorni e mesi prodotti da quanto segue.
-
Funzioni SQL TO_CHAR e TO_DATE (descritte in ""Uso delle funzioni di conversione nelle query")
-
Formato data predefinito (impostato da NLS_DATE_FORMAT, descritto in "Informazioni sul parametro NLS_DATE_FORMAT")
-
Simboli per gli equivalenti della lingua predefinita di AM, PM, AD e BC
Valori accettabili: qualsiasi nome di lingua supportata da Oracle. Per una lista, vedere Oracle Database Globalization Support Guide.
Valore predefinito: impostato da NLS_LANGUAGE, descritto in "Informazioni sul parametro NLS_LANGUAGE".
Nell'Esempio 7-5 viene illustrato in che modo l'impostazione di NLS_DATE_LANGUAGE su FRENCH e SWEDISH influisce sulla data del sistema visualizzata.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Esempio 7-5 NLS_DATE_LANGUAGE influisce su SYSDATE visualizzata
-
Notare il valore corrente di NLS_DATE_LANGUAGE.
-
Se il valore di NLS_DATE_LANGUAGE nel passo 1 non è
FRENCH, modificarlo:ALTER SESSION SET NLS_DATE_LANGUAGE=FRENCH; -
Eseguire la seguente query:
SELECT TO_CHAR(SYSDATE, 'Day:Dd Month yyyy') "System Date" FROM DUAL;Risultato:
System Date -------------------------- Vendredi:28 December 2012 -
Modificare il valore di NLS_DATE_LANGUAGE in
SWEDISH:ALTER SESSION SET NLS_DATE_LANGUAGE=SWEDISH; -
Ripetere l'interrogazione dal passo 3.
Risultato:
System Date ------------------------- Fredag :28 December 2012 - Impostare
NLS_DATE_LANGUAGEsul valore che aveva al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_DATE_LANGUAGE
-
Oracle Database SQL Language Reference per ulteriori informazioni sulla funzione TO_CHAR
-
Oracle Database SQL Language Reference per ulteriori informazioni sulla funzione y
Informazioni sui parametri NLS_TIMESTAMP_FORMAT and NLS_TIMESTAMP_TZ_FORMAT
Questo parametro specifica il formato di data predefinito per l'audiotape TIMESTAMP e TIMESTAMP WITH LOCAL TIME ZONEaudiotapeTIMESTAMP WITH LOCAL TIME ZONEaudiotape.
Specificare: il formato data predefinito per quanto segue.
-
Audiotape TIMESTAMP
-
TIMESTAMP CON TEMPO LOCALE ZONEaudiotape
Valori accettabili: qualsiasi modello di formato Datetime valido. Ad esempio:
NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH:MI:SS.FF'
NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM'
Per informazioni sui modelli di formati DateTime, vedere Oracle Database SQL Language Reference.
Valore predefinito: impostato da NLS_TERRITORY, descritto in "Informazioni sul parametro NLS_TERRITORY".
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_TIMESTAMP_FORMAT
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_TIMESTAMP_TZ_FORMAT
-
Oracle Database Globalization Support Guide per informazioni sui tipi di dati/ora e sul supporto per il fuso orario
-
Oracle Database SQL Language Reference per ulteriori informazioni sull'audiotape TIMESTAMP
-
Oracle Database SQL Language Reference per ulteriori informazioni sul tipo dati TIMESTAMP WITH LOCAL TIME ZONE
Informazioni sul parametro NLS_CALENDAR
Questo parametro specifica il sistema di calendario per il database.
Specifica: il sistema calendario per il database.
Valori accettabili: qualsiasi sistema di calendario supportato dalla Oracle. Per una lista, vedere Oracle Database Globalization Support Guide.
Valore predefinito: Gregorian
Nell'Esempio 7-6 viene illustrato in che modo l'impostazione di NLS_CALENDAR su 'English Hijrah' e Gregorian influisce sulla data del sistema visualizzata.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Esempio 7-6 NLS_CALENDAR influisce su SYSDATE visualizzato
-
Notare il valore corrente di NLS_CALENDAR.
-
Se il valore di NLS_CALENDAR nel passo 1 non è
'English Hijrah', modificarlo:ALTER SESSION SET NLS_CALENDAR='English Hijrah'; -
Eseguire la seguente query:
SELECT SYSDATE FROM DUAL;Risultato:
SYSDATE ------------------------- 17 Safar 1434 -
Modificare il valore di NLS_CALENDAR in
'Gregorian':ALTER SESSION SET NLS_CALENDAR='Gregorian'; -
Eseguire la seguente query:
SELECT SYSDATE FROM DUAL;Risultato:
SYSDATE --------- 31-DEC-12 - Impostare NLS_CALENDAR sul valore che aveva al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro
NLS_CALENDAR
Informazioni sul parametro NLS_NUMERIC_CHARACTERS
Questo parametro specifica il carattere decimale (che separa i numeri interi e le parti decimali di un numero) e il separatore di gruppo (che separa i gruppi di cifre interi per mostrare, ad esempio, le migliaia e le milioni). Il separatore di gruppi è il carattere restituito dall'elemento del formato numerico G.
Specifica: il carattere decimale (che separa il valore intero e la parte decimale di un numero) e la parte decimale del gruppo (che separa i gruppi di cifre interi per mostrare ad esempio le migliaia e gli milioni). Il separatore di gruppi è il carattere restituito dall'elemento del formato numerico G.
Valori accettabili: due caratteri a singolo byte differenti, ad eccezione di quelli riportati di seguito.
-
Un carattere numerico
-
Più (+)
-
Meno (-)
-
Minore di (<)
-
Maggiore di (>)
Valore predefinito: impostato da NLS_TERRITORY, descritto in "Informazioni sul parametro NLS_TERRITORY".
In un'istruzione SQL è possibile rappresentare un numero nei modi indicati di seguito.
-
Valore numerico
Un valore numerico non viene racchiuso tra virgolette, utilizza sempre un punto (.) come carattere decimale e non contiene mai un separatore delle migliaia.
-
Valore di testo
Un valore di testo è racchiuso tra apici. Se necessario, viene convertito in modo implicito o esplicito in un numero, in base alle impostazioni NLS correnti.
Nell'Esempio 7-7 viene illustrato in che modo due impostazioni differenti di NLS_NUMERIC_CHARACTERS influiscono sul risultato visualizzato della stessa query.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
L'esempio 7-7 NLS_NUMERIC_CHARACTERS influenza il carattere decimale e il separatore dei gruppi
-
Notare il valore corrente di NLS_NUMERIC_CHARACTERS.
-
Se il valore di NLS_NUMERIC_CHARACTERS nel passo 1 non è
",."(il carattere decimale è la virgola e la separazione delle migliaia è il punti), modificarlo utilizzando il comando seguente:ALTER SESSION SET NLS_NUMERIC_CHARACTERS=",."; -
Eseguire la seguente query:
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Risultato:
Number --------- 4.000,00 -
Modificare il valore di NLS_NUMERIC_CHARACTERS in
",."(il carattere decimale è il punti e la virgola è il separatore dei gruppi):ALTER SESSION SET NLS_NUMERIC_CHARACTERS=".,"; -
Eseguire la seguente query:
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Risultato:
Number --------- 4,000.00 - Impostare NLS_NUMERIC_CHARACTERS sul valore che aveva al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_NUMERIC_CHARACTERS
Informazioni sul parametro NLS_CURRENCY
Questo parametro specifica il simbolo di valuta locali (la stringa dei caratteri restituita dall'elemento di formato numerico L).
Specifica: il simbolo di valuta locale (la stringa dei caratteri restituita dall'elemento del formato numerico L).
Valori accettabili: qualsiasi stringa di simboli di valuta valida.
Valore predefinito: impostato da NLS_TERRITORY, descritto in "Informazioni sul parametro NLS_TERRITORY".
L'Esempio 7-8 modifica il valore di NLS_CURRENCY, sostituendo il valore predefinito impostato da NLS_TERRITORY. Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Esempio 7-8 NLS_CURRENCY sostituisce NLS_TERRITORY
-
Notare i valori correnti di NLS_TERRITORY e NLS_CURRENCY.
-
Se il valore di NLS_TERRITORY nel passo 1 non è
AMERICA, modificarlo:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Eseguire la seguente query:
SELECT TO_CHAR(salary, 'L099G999D99') "Salary" FROM EMPLOYEES WHERE salary > 13000;Risultato:
Salary --------------------- $024,000.00 $017,000.00 $017,000.00 $014,000.00 $013,500.00 -
Modificare il valore di NLS_CURRENCY in
'©':ALTER SESSION SET NLS_CURRENCY='©'; -
Eseguire la seguente query:
SELECT TO_CHAR(salary, 'L099G999D99') "Salary" FROM EMPLOYEES WHERE salary > 13000;Risultato:
Salary --------------------- ©024,000.00 ©017,000.00 ©017,000.00 ©014,000.00 ©013,500.00 - Impostare NLS_TERRITORY e NLS_CURRENCY sui valori che avevano al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_CURRENCY
Informazioni sul parametro NLS_ISO_CURRENCY
Questo parametro specifica il simbolo di valuta ISO (la stringa restituita dall'elemento di formato numerico C).
Specifica: il simbolo di valuta ISO (la stringa dei caratteri restituita dall'elemento del formato numerico C).
Valori accettabili: qualsiasi stringa di simboli di valuta valida.
Valore predefinito: impostato da NLS_TERRITORY, descritto in "Informazioni sul parametro NLS_TERRITORY".
I simboli di valuta locali possono essere ambigui, ma i simboli di valuta ISO sono univoci. L'esempio 7-9 mostra che i territori AUSTRALIA e AMERICA hanno lo stesso simbolo della valuta locale, ma simboli di valuta ISO differenti.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Esempio 7-9 NLS_ISO_CURRENCY
-
Notare i valori correnti di NLS_TERRITORY e NLS_ISO_CURRENCY.
-
Se il valore di NLS_TERRITORY nel passo 1 non è
AUSTRALIA, modificarlo:ALTER SESSION SET NLS_TERRITORY=AUSTRALIA; -
Eseguire la seguente query:
SELECT TO_CHAR(salary, 'L099G999D99') "Local", TO_CHAR(salary, 'C099G999D99') "ISO" FROM EMPLOYEES WHERE salary > 15000;Risultato:
Local ISO --------------------- ------------------ $024,000.00 AUD024,000.00 $017,000.00 AUD017,000.00 $017,000.00 AUD017,000.00 -
Modificare il valore di NLS_TERRITORY in
AMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Eseguire la seguente query:
SELECT TO_CHAR(salary, 'L099G999D99') "Local", TO_CHAR(salary, 'C099G999D99') "ISO" FROM EMPLOYEES WHERE salary > 15000;Risultato:
Local ISO --------------------- ------------------ $024,000.00 USD024,000.00 $017,000.00 USD017,000.00 $017,000.00 USD017,000.00 - Impostare NLS_TERRITORY e NLS_ISO_CURRENCY sui valori che avevano al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_ISO_CURRENCY
Informazioni sul parametro NLS_DUAL_CURRENCY
Questo parametro specifica il simbolo di valuta doppia (introdotto per supportare il simbolo dell'euro durante il periodo della transizione all'euro).
Specifica: il simbolo di valuta doppia (introdotto per supportare il simbolo dell'euro durante il periodo della transizione all'euro).
Valori accettabili: qualsiasi stringa di simboli di valuta valida.
Valore predefinito: impostato da NLS_TERRITORY, descritto in "Informazioni sul parametro NLS_TERRITORY".
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_DUAL_CURRENCY
Informazioni sul parametro NLS_SORT
Questo parametro specifica il criterio di ordinamento linguistica (sequenza di raccolta) per le query che hanno la clausola ORDER BY.
Specifica: il metodo di ordinamento linguistico (sequenza di raccolta) per le query con la clausola ORDER BY.
Valori accettabili:
-
BINARYIl criterio di ordinamento è basato sull'ordine della sequenza binaria del set di caratteri del database o del set di caratteri nazionale, a seconda del tipo di dati.
-
Qualsiasi nome di ordinamento linguistico supportato da Oracle
Il criterio di ordinamento è basato sull'ordine del nome dell'ordinamento linguistico specificato. Il nome dell'ordinamento linguistico corrisponde in genere al nome della lingua, ma non sempre. Per una lista dei nomi dell'ordinamento linguistico supportati, vedere Oracle Database Globalization Support Guide.
Valore predefinito: impostato da NLS_LANGUAGE, descritto in "Informazioni sul parametro NLS_LANGUAGE".
Nell'Esempio 7-10 viene illustrato in che modo due impostazioni differenti di NLS_SORT influiscono sul risultato visualizzato della stessa query. Le impostazioni sono BINARY e Traditional Spanish (SPANISH_M). Traditional Spanish tratta le lettere ch, ll e ñ come lettere che seguono c, l e n rispettivamente.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
Ordinamenti senza distinzione tra maiuscole e minuscole e senza distinzione tra accenti
Le operazioni all'interno di Oracle Database fanno distinzione tra maiuscole e minuscolo e tra gli accenti dei caratteri. Per eseguire un ordinamento senza distinzione tra maiuscole e minuscole, aggiungere _CI al valore del parametro NLS_SORT (ad esempio, BINARY_CI o GERMAN_CI). Per eseguire un ordinamento che sia contestualmente senza distinzione tra maiuscole e minuscole e senza distinzione fra accenti, aggiungere _AI al valore del parametro NLS_SORT (ad esempio, BINARY_AI o FRENCH_M_AI).
NLS_SORT influisce sul criterio di ordinamento linguistico dell'esempio 7-10
-
Creare una tabella per le parole in spagnolo:
CREATE TABLE temp (name VARCHAR2(15)); -
Inserire nella tabella alcune parole in spagnolo:
INSERT INTO temp (name) VALUES ('laguna'); INSERT INTO temp (name) VALUES ('llama'); INSERT INTO temp (name) VALUES ('loco'); -
Notare il valore corrente di NLS_SORT.
-
Se il valore di NLS_SORT nel passo 3 non è
BINARY, modificarlo:ALTER SESSION SET NLS_SORT=BINARY; -
Eseguire la seguente query:
SELECT * FROM temp ORDER BY name;Risultato:
NAME --------------- laguna llama loco -
Modificare il valore di NLS_SORT in
SPANISH_M(Spagnolo tradizionale):ALTER SESSION SET NLS_SORT=SPANISH_M; -
Ripetere l'interrogazione dal passo 5.
Risultato:
NAME --------------- laguna loco llama -
Eliminare la tabella:
DROP TABLE temp; - Impostare NLS_SORT sul valore che aveva al passo 3.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro
NLS_SORT -
Oracle Database Globalization Support Guide per ulteriori informazioni sugli ordinamenti senza distinzione fra maiuscole e minuscole e senza distinzione fra accenti
-
"Informazioni sull'ordinamento linguistico e sulla ricerca di stringhe"
Informazioni sul parametro NLS_COMP
Questo parametro specifica il comportamento di confronto dei caratteri delle operazioni SQL.
Specifica: il comportamento di confronto dei personaggi delle operazioni SQL.
Valori accettabili:
-
BINARYSQL confronta i codici binari dei caratteri. Un carattere è più grande di un altro se ha un codice binario più grande.
-
LINGUISTICSQL esegue un confronto linguistico sulla base del valore del parametro
NLS_SORT, descritto in "Informazioni sul parametro NLS_SORT". -
ANSIQuesto valore viene fornito solo per la compatibilità con le versioni precedenti.
Valore predefinito: BINARY
L'Esempio 7-11 mostra che il risultato di una query può dipendere dall'impostazione NLS_COMP.
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
NLS_COMP influenza il confronto dei caratteri SQL nell'esempio 7-11
-
Notare i valori correnti di NLS_SORT e NLS_COMP.
-
Se nel passo 1 i valori di NLS_SORT e NLS_COMP non sono rispettivamente
SPANISH_M(Traditional Spanish) eBINARY, modificarli:ALTER SESSION SET NLS_SORT=SPANISH_M NLS_COMP=BINARY; -
Eseguire la seguente query:
SELECT LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE 'C%';Risultato:
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Chen Chung Colmenares 6 rows selected -
Modificare il valore di NLS_COMP in
LINGUISTIC:ALTER SESSION SET NLS_COMP=LINGUISTIC; -
Ripetere l'interrogazione dal passo 3.
Risultato:
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Colmenares 4 rows selectedQuesta volta Chen e Chung non vengono restituiti perché Traditional Spanish considera
chcome un singolo carattere che seguec. - Impostare NLS_SORT e NLS_COMP sui valori che avevano al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_COMP
-
"Informazioni sull'ordinamento linguistico e sulla ricerca di stringhe"
Informazioni sul parametro NLS_LENGTH_SEMANTICS
Questo parametro specifica la semantica della longitudine per i tipi di dati carattere CHAR, VARCHAR2 e LONG, ossia indica se tali colonne sono specificate in byte o in caratteri. (applicabile solo alle colonne dichiarate dopo l'impostazione del parametro).
Specifica: la semantica della lunghezza per la colonna dei tipi di dati carattere CHAR, VARCHAR2 e LONG, ossia indica se tali colonne sono specificate in byte o in caratteri. (applicabile solo alle colonne dichiarate dopo l'impostazione del parametro).
Valori accettabili:
-
BYTELe nuove colonne CHAR, VARCHAR2 e LONG vengono specificate in byte.
-
CHARLe nuove colonne CHAR, VARCHAR2 e LONG vengono specificate in caratteri.
Valore predefinito: BYTE
Per provare questo esempio in SQL Developer, immettere le istruzioni e le query nel Foglio di lavoro. Per informazioni sul Foglio di lavoro, vedere "Esecuzione di query in SQL Developer". I risultati mostrati nella presente documentazione sono relativi a SQL*Plus; il relativo formato è leggermente diverso in SQL Developer.
NLS_LENGTH_SEMANTICS influisce sulla memorizzazione della Colonna VARCHAR2 dell'esempio 7-12
-
Notare i valori correnti di NLS_LENGTH_SEMANTICS.
-
Se il valore di NLS_LENGTH_SEMANTICS nel passo 1 non è
BYTE, modificarlo:ALTER SESSION SET NLS_LENGTH_SEMANTICS=BYTE; -
Creare una tabella con una colonna VARCHAR2:
CREATE TABLE SEMANTICS_BYTE(SOME_DATA VARCHAR2(20)); -
Fare clic sulla scheda Connessioni.
-
Nel frame Connessioni espandere hr_conn.
-
Nella lista dei tipi di oggetto schema espandere Tabelle.
-
Nella lista di tabelle selezionare SEMANTICS_BYTE.
A destra del frame Connessioni, il riquadro Colonne mostra che per Nome di colonna SOME_DATA il tipo di dati è
VARCHAR2(20 BYTE). -
Modificare il valore di NLS_LENGTH_SEMANTICS in
CHAR:ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR; -
Creare un'altra tabella con una colonna VARCHAR2:
CREATE TABLE SEMANTICS_CHAR(SOME_DATA VARCHAR2(20)); -
Nel riquadro Connessioni, fare clic sull'icona Aggiorna.
La lista di tabelle include ora SEMANTICS_CHAR.
-
Selezionare SEMANTICS_CHAR.
Il riquadro Colonne mostra che per il nome di colonna SOME_DATA il tipo di dati è
VARCHAR2(20 CHAR). -
Selezionare nuovamente SEMANTICS_BYTE.
Il riquadro Colonne mostra che per il nome di colonna SOME_DATA il tipo di dati è ancora
VARCHAR2(20 BYTE). - Impostare il valore di NLS_LENGTH_SEMANTICS sul valore che aveva al passo 1.
Vedere anche:
-
Oracle Database Globalization Support Guide per ulteriori informazioni sul parametro NLS_LENGTH_SEMANTICS