sql >> Base de Datos >  >> RDS >> Oracle

Cómo cambiar el idioma de su sesión de Oracle

En Oracle Database, el NLS_LANGUAGE El parámetro de inicialización especifica el idioma predeterminado de la base de datos.

Este idioma se utiliza para mensajes, nombres de días y meses, símbolos para AD, BC, am y pm, y el mecanismo de clasificación predeterminado.

El NLS_LANGUAGE El parámetro también determina los valores predeterminados del NLS_DATE_LANGUAGE y NLS_SORT parámetros.

Este artículo describe cómo cambiar el valor de NLS_LANGUAGE y NLS_DATE_LANGUAGE parámetros.

Compruebe la configuración inicial

Primero, revisemos mi configuración actual para estos parámetros:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_LANGUAGE',
    'NLS_DATE_LANGUAGE',
    'NLS_SORT'
    );

Resultado:

           PARAMETER       VALUE 
____________________ ___________ 
NLS_LANGUAGE         AMERICAN    
NLS_DATE_LANGUAGE    AMERICAN    
NLS_SORT             BINARY      

Cambiar el NLS_LANGUAGE Parámetro

Podemos usar el ALTER SESSION instrucción para cambiar la configuración del NLS_LANGUAGE parámetro.

Ejemplo:

ALTER SESSION SET NLS_LANGUAGE = 'BASQUE';

Resultado:

Session altered.

Comprobemos los nuevos valores:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_LANGUAGE',
    'NLS_DATE_LANGUAGE',
    'NLS_SORT'
    );

Resultado:

           PARAMETER        VALUE 
____________________ ____________ 
NLS_LANGUAGE         BASQUE       
NLS_DATE_LANGUAGE    BASQUE       
NLS_SORT             GENERIC_M    

Podemos ver que tanto el NLS_LANGUAGE y NLS_DATE_LANGUAGE los parámetros se han cambiado al idioma especificado, aunque solo actualizamos el NLS_LANGUAGE parámetro.

También podemos ver que el NLS_SORT el parámetro se ha actualizado al tipo predeterminado para BASQUE idioma.

Cambiar el NLS_DATE_LANGUAGE Parámetro

Ahora cambiemos el NLS_DATE_LANGUAGE parámetro:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'SPANISH';

Resultado:

Session altered.

Y ahora comprueba los nuevos valores:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_LANGUAGE',
    'NLS_DATE_LANGUAGE',
    'NLS_SORT'
    );

Resultado:

           PARAMETER        VALUE 
____________________ ____________ 
NLS_LANGUAGE         BASQUE       
NLS_DATE_LANGUAGE    SPANISH      
NLS_SORT             GENERIC_M    

Así que hemos cambiado explícitamente el valor de NLS_DATE_LANGUAGE parámetro sin cambiar los otros dos.

El orden predeterminado para SPANISH es SPANISH , y podemos ver que el NLS_SORT el valor sigue siendo GENERIC_M , por lo que no se ha visto afectado.