Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como alterar o idioma da sua sessão Oracle


No Oracle Database, o NLS_LANGUAGE O parâmetro de inicialização especifica o idioma padrão do banco de dados.

Esse idioma é usado para mensagens, nomes de dias e meses, símbolos para AD, BC, a.m. e p.m. e o mecanismo de classificação padrão.

O NLS_LANGUAGE O parâmetro também determina os valores padrão do NLS_DATE_LANGUAGE e NLS_SORT parâmetros.

Este artigo descreve como alterar o valor do NLS_LANGUAGE e NLS_DATE_LANGUAGE parâmetros.

Verifique as configurações iniciais


Primeiro, vamos verificar minhas configurações atuais para esses 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      

Alterar o NLS_LANGUAGE Parâmetro


Podemos usar o ALTER SESSION instrução para alterar a configuração do NLS_LANGUAGE parâmetro.

Exemplo:
ALTER SESSION SET NLS_LANGUAGE = 'BASQUE';

Resultado:
Session altered.

Vamos verificar os novos 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 o NLS_LANGUAGE e NLS_DATE_LANGUAGE parâmetros foram alterados para o idioma especificado, embora tenhamos atualizado apenas o NLS_LANGUAGE parâmetro.

Também podemos ver que o NLS_SORT parâmetro foi atualizado para a classificação padrão para o BASQUE Língua.

Alterar o NLS_DATE_LANGUAGE Parâmetro


Agora vamos alterar o NLS_DATE_LANGUAGE parâmetro:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'SPANISH';

Resultado:
Session altered.

E agora verifique os novos 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    

Portanto, alteramos explicitamente o valor do NLS_DATE_LANGUAGE parâmetro sem alterar os outros dois.

A classificação padrão para SPANISH é SPANISH , e podemos ver que o NLS_SORT o valor ainda é GENERIC_M , por isso não foi afetado.