In Oracle Database, il NLS_LANGUAGE
il parametro initialization specifica la lingua predefinita del database.
Questa lingua viene utilizzata per messaggi, nomi di giorni e mesi, simboli per AD, BC, a.m. e p.m. e il meccanismo di ordinamento predefinito.
Il NLS_LANGUAGE
parametro determina anche i valori predefiniti di NLS_DATE_LANGUAGE
e NLS_SORT
parametri.
Questo articolo illustra come modificare il valore di NLS_LANGUAGE
e NLS_DATE_LANGUAGE
parametri.
Verifica le impostazioni iniziali
Per prima cosa, controlliamo le mie impostazioni attuali per questi parametri:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
);
Risultato:
PARAMETER VALUE ____________________ ___________ NLS_LANGUAGE AMERICAN NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY
Cambia il NLS_LANGUAGE
Parametro
Possiamo usare il ALTER SESSION
per modificare l'impostazione per il NLS_LANGUAGE
parametro.
Esempio:
ALTER SESSION SET NLS_LANGUAGE = 'BASQUE';
Risultato:
Session altered.
Controlliamo i nuovi valori:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
);
Risultato:
PARAMETER VALUE ____________________ ____________ NLS_LANGUAGE BASQUE NLS_DATE_LANGUAGE BASQUE NLS_SORT GENERIC_M
Possiamo vedere che sia il NLS_LANGUAGE
e NLS_DATE_LANGUAGE
i parametri sono stati modificati nella lingua specificata, anche se abbiamo aggiornato solo il NLS_LANGUAGE
parametro.
Possiamo anche vedere che il NLS_SORT
il parametro è stato aggiornato all'ordinamento predefinito per BASQUE
lingua.
Cambia il NLS_DATE_LANGUAGE
Parametro
Ora cambiamo il NLS_DATE_LANGUAGE
parametro:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'SPANISH';
Risultato:
Session altered.
E ora controlla i nuovi valori:
SELECT
PARAMETER,
VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
'NLS_LANGUAGE',
'NLS_DATE_LANGUAGE',
'NLS_SORT'
);
Risultato:
PARAMETER VALUE ____________________ ____________ NLS_LANGUAGE BASQUE NLS_DATE_LANGUAGE SPANISH NLS_SORT GENERIC_M
Quindi abbiamo modificato in modo esplicito il valore di NLS_DATE_LANGUAGE
parametro senza modificare gli altri due.
L'ordinamento predefinito per SPANISH
è SPANISH
e possiamo vedere che il NLS_SORT
il valore è ancora GENERIC_M
, quindi non è stato interessato.