Oracle
 sql >> Database >  >> RDS >> Oracle

Come cambiare la lingua per la tua sessione Oracle

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.