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.