Sobre Parâmetros NLS Individuais
Muitos parâmetros NLS individuais estão disponíveis.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre como configurar um ambiente de suporte à globalização
Sobre Configurações Regionais e o Parâmetro NLS_LANG
Uma configuração regional é um ambiente linguístico e cultural em que um sistema ou aplicativo é executado. A maneira mais simples de especificar uma configuração regional para software Oracle Database é definir o parâmetro NLS_LANG.
O parâmetro NLS_LANG define os valores padrão dos parâmetros NLS_LANGUAGE e NLS_TERRITORY para tanto a sessão do servidor (por exemplo, processamento de instrução SQL) quanto o aplicativo cliente (por exemplo, exibir formatação nas ferramentas de padrão do Oracle Database). O parâmetro NLS_LANG também define o conjunto de caracteres que o aplicativo cliente usa para dados informados ou exibidos.
O valor padrão de NLS_LANG é definido durante o banco de dados de instalação. Você pode usar a instrução ALTER SESSION para alterar os valores dos parâmetros NLS, incluindo os definidos por NLS_LANG, para sua sessão. No entanto, somente o cliente por alterar as definições NLS no ambiente cliente.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre como especificar uma configuração regional com o parâmetro
NLS_LANG -
Oracle Database Globalization Support Guide para obtenção de informações sobre idiomas, territórios, conjuntos de caracteres e outros dados da configuração regional suportados pelo Oracle Database
Sobre o Parâmetro NLS_LANGUAGE
Este parâmetro especifica o idioma padrão do banco de dados.
Especifica: Idioma padrão do banco de dados. Convenções padrão para:
-
Idioma para mensagens do servidor
-
Idioma para nomes e abreviações de dias e meses especificados nas funções SQL TO_CHAR e TO_DATE
-
Símbolos para equivalentes do idioma padrão de AM, PM, AD e BC
-
Ordem de classificação padrão para dados de caractere quando a cláusula ORDER BY é especificada
-
Direção da gravação
-
Strings de resposta afirmativa e negativa (por exemplo, SIM e NÃO)
Valores Aceitáveis: qualquer nome de idioma que o sistema Oracle suporte. Para obter uma lista, consulte Oracle Database Globalization Support Guide.
Valor Padrão: Definido por NLS_LANG, descrito em "Sobre Local e o Parâmetro NLS_LANG".
Define valores padrão de:
-
NLS_DATE_LANGUAGE, descrito em "Sobre o Parâmetro NLS_DATE_LANGUAGE".
-
NLS_SORT, descrito em "Sobre o Parâmetro NLS_SORT".
Exemplo 7-1 mostra como a definição de NLS_LANGUAGE como ITALIAN e GERMAN afeta as mensagens do servidor e as abreviações do mês.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-1 NLS_LANGUAGE Afeta a Mensagem do Servidor e Abreviações de Mês
-
Observe o valor atual de NLS_LANGUAGE.
-
Se o valor da etapa 1 não for
ITALIAN, altere-o:ALTER SESSION SET NLS_LANGUAGE=ITALIAN; -
Consultar uma tabela não existente:
SELECT * FROM nonexistent_table;Resultado:
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: tabella o vista inesistente -
Execute a seguinte consulta:
SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE EMPLOYEE_ID IN (111, 112, 113);Resultado:
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SET-97 Urman 07-MAR-98 Popp 07-DIC-99 3 rows selected. -
Altere o valor de NLS_LANGUAGE para
GERMAN:ALTER SESSION SET NLS_LANGUAGE=GERMAN; -
Repita a consulta da etapa 3.
Resultado:
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: Tabelle oder View nicht vorhanden -
Repita a consulta da etapa 4.
Resultado:
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SEP-97 Urman 07-MRZ-98 Popp 07-DEZ-99 3 rows selected. - Definir NLS_LANGUAGE como o valor que tinha na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_LANGUAGE
Sobre o Parâmetro NLS_TERRITORY
Este parâmetro especifica convenções padrão para formato de data, formato de carimbo de data/hora, separador decimal e de grupo, símbolo de moeda local, símbolo de moeda ISO e símbolo de moeda dupla.
Especifica: Convenções padrão para:
-
Formato de data
-
Formato de data e hora
-
Caractere decimal e separador de grupo
-
Símbolo de moeda local
-
Símbolo de moeda ISO
-
Símbolo de moeda duplo
Valores Aceitáveis: Qualquer nome de território que o sistema Oracle suporte. Para obter uma lista, consulte Oracle Database Globalization Support Guide.
Valor Padrão: Definido por NLS_LANG, descrito em "Sobre Local e o Parâmetro NLS_LANG".
Define valores padrão de:
-
NLS_DATE_FORMAT, descrito em "Sobre o Parâmetro NLS_DATE_FORMAT".
-
NLS_TIMESTAMP_FORMAT e NLS_TIMESTAMP_TZ_FORMAT, descritos em "About NLS_TIMESTAMP_FORMAT and NLS_TIMESTAMP_TZ_FORMAT Parameters".
-
NLS_NUMERIC_CHARACTERS, descrito em "Sobre o Parâmetro NLS_NUMERIC_CHARACTERS". -
NLS_CURRENCY, descrito em "Sobre o Parâmetro NLS_CURRENCY".
-
NLS_ISO_CURRENCY, descrito em "Sobre o Parâmetro NLS_ISO_CURRENCY".
-
NLS_DUAL_CURRENCY, descrito em "Sobre o Parâmetro NLS_DUAL_CURRENCY".
Exemplo 7-2 mostra como definir NLS_TERRITORY como JAPAN e AMERICA afeta o símbolo da moeda.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-2 NLS_TERRITORY Afeta o Símbolo da Moeda
-
Observe o valor atual de NLS_TERRITORY.
-
Se o valor da etapa 1 não for
JAPAN, altere-o:ALTER SESSION SET NLS_TERRITORY=JAPAN; -
Execute a seguinte consulta:
SELECT TO_CHAR(SALARY,'L99G999D99') SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID IN (100, 101, 102);Resultado:
SALARY -------------------- ©24,000.00 ©17,000.00 ©17,000.00 3 rows selected. -
Altere o valor do
NLS_TERRITORYparaAMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Repita a consulta da etapa 3.
Resultado:
SALARY -------------------- $24,000.00 $17,000.00 $17,000.00 3 rows selected. - Defina
NLS_TERRITORYcomo o valor da etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_TERRITORY
Sobre o Parâmetro NLS_DATE_FORMAT
Este parâmetro especifica o formato de data padrão a ser usado com as funções TO_CHAR e TO_DATE.
Especifica: Formato de data padrão a ser usado com as funções TO_CHAR e TO_DATE (que são introduzidas em "Usando Funções de Conversão em Consultas").
Valores Aceitáveis: Qualquer modelo de formato de data/hora válido. Por exemplo:
NLS_DATE_FORMAT='MM/DD/YYYY'
Para obter informações sobre modelos do formato de data e hora, consulte Referência da Linguagem SQL do Oracle Database.
Valor Padrão: Definido por NLS_TERRITORY, descrito em "Sobre o Parâmetro NLS_TERRITORY".
O formato de data padrão pode não corresponder à convenção usada em um determinado território. Para obter datas em formatos localizados, você pode usar os formatos 'DS' (data abreviada) e 'DL' (data longa) . Exemplo 7-3 mostra como definir NLS_TERRITORY para AMERICA e FRANCE afeta os formatos padrão, curto e longo de data. Exemplo 7-4 altera o valor de NLS_DATE_FORMAT, substituindo o conjunto de valores padrão por NLS_TERRITORY.
Para experimentar os exemplos no SQL Developer, insira as instruções e consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-3 NLS_TERRITORY Afeta os Formatos de Data
-
Observe o valor atual de NLS_TERRITORY.
-
Se o valor da etapa 1 não for
AMERICA, altere-o:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Execute a seguinte consulta:
SELECT hire_date "Default", TO_CHAR(hire_date,'DS') "Short", TO_CHAR(hire_date,'DL') "Long" FROM employees WHERE employee_id IN (111, 112, 113);Resultado:
Default Short Long --------- ---------- ----------------------------- 30-SEP-05 9/30/2005 Friday, September 30, 2005 07-MAR-98 3/7/2006 Tuesday, March 07, 2006 07-DEC-99 12/7/2007 Friday, December 07, 2007 3 rows selected. -
Altere o valor de NLS_TERRITORY para
FRANCE:ALTER SESSION SET NLS_TERRITORY=FRANCE; -
Repita a consulta da etapa 3.
Resultado:
Default Short Long -------- ---------- --------------------------- 30/09/05 30/09/2005 friday 30 september 2005 07/03/06 07/03/2006 tuesday 7 march 2006 07/12/07 07/12/2007 friday 7 december 2007 3 rows selected.(Para obter os nomes dos dias e meses em francês, você deve definir NLS_LANGUAGE ou NLS_DATE_LANGUAGE como
FRENCHantes de executar a consulta.) - Defina NLS_TERRITORY como o valor que tinha na etapa 1.
Exemplo 7-4 NLS_DATE_FORMAT Substituições NLS_TERRITORY
-
Observe os valores atuais de NLS_TERRITORY e NLS_DATE_FORMAT.
-
Se o valor de NLS_TERRITORY na etapa 1 não for
AMERICA, altere-o:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Se o valor de NLS_DATE_FORMAT na etapa 1 não for
'Day Month ddth', altere-o:ALTER SESSION SET NLS_DATE_FORMAT='Day Month ddth'; -
Execute esta consulta (do exemplo anterior, etapa 3):
SELECT hire_date "Default", TO_CHAR(hire_date,'DS') "Short", TO_CHAR(hire_date,'DL') "Long" FROM employees WHERE employee_id IN (111, 112, 113);Resultado:
Default Short Long ------------------------ ---------- ----------------------------- Friday September 30th 9/30/2005 Tuesday, September 30, 2005 Tuesday March 07th 3/7/2006 Saturday, March 07, 2006 Friday December 07th 12/7/2007 Tuesday, December 07, 2007 3 rows selected. - Defina NLS_TERRITORY e NLS_DATE_FORMAT como os valores que eles tiveram na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_DATE_FORMAT
-
Referência de Linguagem do Oracle Database SQL para mais informações sobre a função TO_CHAR
-
Referência de Linguagem do Oracle Database SQL para mais informações sobre a função TO_DATE
Sobre o Parâmetro NLS_DATE_LANGUAGE
Este parâmetro especifica o idioma para nomes e abreviações de dias e meses que são produzidos por: funções SQL TO_CHAR e TO_DATE, o formato de data padrão (definido por NLS_DATE_FORMAT) e símbolos para os equivalentes de idioma padrão de AM, PM, AD e BC.
Especifica: Idioma para nomes e abreviações de dias e meses produzidos por:
-
Funções SQL TO_CHAR e TO_DATE (que são introduzidas em "Usando Funções de Conversão em Consultas")
-
Formato de data padrão (definido por NLS_DATE_FORMAT, descrito em "Sobre o Parâmetro NLS_DATE_FORMAT")
-
Símbolos para equivalentes do idioma padrão de AM, PM, AD e BC
Valores Aceitáveis: qualquer nome de idioma que o sistema Oracle suporte. Para obter uma lista, consulte Oracle Database Globalization Support Guide.
Valor Padrão: Definido por NLS_LANGUAGE, descrito em "Sobre o Parâmetro NLS_LANGUAGE".
Exemplo 7-5 mostra como definir NLS_DATE_LANGUAGE para FRENCH e SWEDISH afeta a data do sistema exibida.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-5 NLS_DATE_LANGUAGE Afeta SYSDATE Exibido
-
Observe o valor atual de NLS_DATE_LANGUAGE.
-
Se o valor de NLS_DATE_LANGUAGE na etapa 1 não for
FRENCH, altere-o:ALTER SESSION SET NLS_DATE_LANGUAGE=FRENCH; -
Execute esta consulta:
SELECT TO_CHAR(SYSDATE, 'Day:Dd Month yyyy') "System Date" FROM DUAL;Resultado:
System Date -------------------------- Vendredi:28 December 2012 -
Altere o valor de NLS_DATE_LANGUAGE para
SWEDISH:ALTER SESSION SET NLS_DATE_LANGUAGE=SWEDISH; -
Repita a consulta da etapa 3.
Resultado:
System Date ------------------------- Fredag :28 December 2012 - Defina
NLS_DATE_LANGUAGEcomo o valor que tinha na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para saber mais sobre o parâmetro NLS_DATE_LANGUAGE
-
Referência de Linguagem do Oracle Database SQL para mais informações sobre a função TO_CHAR
-
Referência da Linguagem SQL do Oracle Database para mais informações sobre a função y
Sobre os Parâmetros NLS_TIMESTAMP_FORMAT e NLS_TIMESTAMP_TZ_FORMAT
Este parâmetro especifica o formato de data padrão para a fita de áudio TIMESTAMP e TIMESTAMP WITH LOCAL TIME ZONEaudiotapeTIMESTAMP WITH LOCAL TIME ZONEaudiotape.
Especificar: Formato de data padrão para:
-
TIMESTAMP fita de áudio
-
TIMESTAMP COM ZONEaudiotape DE TEMPO LOCAL
Valores Aceitáveis: Qualquer modelo de formato de data/hora válido. Por exemplo:
NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH:MI:SS.FF'
NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM'
Para obter informações sobre modelos do formato de data e hora, consulte Referência da Linguagem SQL do Oracle Database.
Valor Padrão: Definido por NLS_TERRITORY, descrito em "Sobre o Parâmetro NLS_TERRITORY".
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_TIMESTAMP_FORMAT
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_TIMESTAMP_TZ_FORMAT
-
Guia de Suporte à Globalização do Oracle Database para informações sobre tipos de dados de data/hora e suporte a fuso horário
-
Referência de Linguagem SQL do Oracle Database para mais informações sobre a fita de áudio TIMESTAMP
-
Referência de Linguagem SQL do Oracle Database para mais informações sobre o tipo TIMESTAMP WITH LOCAL TIME ZONE
Sobre o Parâmetro NLS_CALENDAR
Este parâmetro especifica o sistema de calendário para o banco de dados.
Especifica: Sistema do calendário para o banco de dados.
Valores Aceitáveis: qualquer sistema de calendário compatível com a Oracle. Para obter uma lista, consulte Oracle Database Globalization Support Guide.
Valor padrão: Gregorian
Exemplo 7-6 mostra como definir NLS_CALENDAR para 'English Hijrah' e Gregorian afeta a data do sistema exibida.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-6 NLS_CALENDAR Afeta SYSDATE Exibido
-
Observe o valor atual de NLS_CALENDAR.
-
Se o valor de NLS_CALENDAR na etapa 1 não for
'English Hijrah', altere-o:ALTER SESSION SET NLS_CALENDAR='English Hijrah'; -
Execute a seguinte consulta:
SELECT SYSDATE FROM DUAL;Resultado:
SYSDATE ------------------------- 17 Safar 1434 -
Altere o valor de NLS_CALENDAR para
'Gregorian':ALTER SESSION SET NLS_CALENDAR='Gregorian'; -
Execute a seguinte consulta:
SELECT SYSDATE FROM DUAL;Resultado:
SYSDATE --------- 31-DEC-12 - Defina NLS_CALENDAR como o valor que tinha na etapa 1.
Consulte também:
-
Guia de Suporte à Globalização do Oracle Database para saber mais sobre o parâmetro
NLS_CALENDAR
Sobre o Parâmetro NLS_NUMERIC_CHARACTERS
Este parâmetro especifica o caractere decimal (que separa o número inteiro e as partes decimais de um número) e o separador de grupo (que separa grupos inteiros para mostrar milhares e milhões, por exemplo). O separador de grupo é o caractere retornado pelo elemento de formato numérico G.
Especifica: Caractere decimal (que separa o número inteiro e as partes decimais de um número) e separador do grupo (que separa grupos inteiros para mostrar milhares e milhões, por exemplo). O separador de grupo é o caractere retornado pelo elemento de formato numérico G.
Valores Aceitáveis: Quaisquer dois caracteres de byte único diferentes, exceto:
-
Um caractere numérico
-
Mais (+)
-
Menos (-)
-
Menor que (<)
-
Maior que (>)
Valor Padrão: Definido por NLS_TERRITORY, descrito em "Sobre o Parâmetro NLS_TERRITORY".
Em uma instrução SQL, você pode representar um número como:
-
Literal numérico
Um literal numérico não fica entre aspas, sempre usa um ponto (.) como o caractere de decimal, e nunca contém um separador de grupo.
-
Literal texto
Um texto literal fica entre aspas simples. Ele é implicitamente ou explicitamente convertido em um número, se necessário, de acordo com as definições de NLS atuais.
Exemplo 7-7 mostra como duas definições NLS_NUMERIC_CHARACTERS diferentes afetam o resultado exibido da mesma consulta.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-7 NLS_NUMERIC_CHARACTERS Afeta um Caractere Decimal e um Separador de Grupo
-
Observe o valor atual de NLS_NUMERIC_CHARACTERS.
-
Se o valor de NLS_NUMERIC_CHARACTERS na etapa 1 não for
",."(o caractere decimal é uma vírgula e o separador de grupo é um ponto), use o seguinte comando para alterá-lo:ALTER SESSION SET NLS_NUMERIC_CHARACTERS=",."; -
Execute a seguinte consulta:
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Resultado:
Number --------- 4.000,00 -
Altere o valor de NLS_NUMERIC_CHARACTERS para
",."(o caractere decimal é um ponto e o separador de grupo é uma vírgula):ALTER SESSION SET NLS_NUMERIC_CHARACTERS=".,"; -
Execute a seguinte consulta:
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Resultado:
Number --------- 4,000.00 - Defina NLS_NUMERIC_CHARACTERS como o valor que tinha na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para saber mais sobre o parâmetro NLS_NUMERIC_CHARACTERS
Sobre o Parâmetro NLS_CURRENCY
Este parâmetro especifica o símbolo de moeda do local (a sequência de caracteres retornada pelo elemento de formato numérico L).
Especifica: Símbolo de moeda local (a sequência de caracteres retornada pelo elemento L de formato numérico).
Valores Aceitáveis: Qualquer string válida de símbolo monetário.
Valor Padrão: Definido por NLS_TERRITORY, descrito em "Sobre o Parâmetro NLS_TERRITORY".
Exemplo 7-8 altera o valor de NLS_CURRENCY, substituindo o valor padrão definido por NLS_TERRITORY. Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-8 NLS_CURRENCY Substitui NLS_TERRITORY
-
Observe os valores atuais de NLS_TERRITORY e NLS_CURRENCY.
-
Se o valor de NLS_TERRITORY na etapa 1 não for
AMERICA, altere-o:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Execute esta consulta:
SELECT TO_CHAR(salary, 'L099G999D99') "Salary" FROM EMPLOYEES WHERE salary > 13000;Resultado:
Salary --------------------- $024,000.00 $017,000.00 $017,000.00 $014,000.00 $013,500.00 -
Altere o valor de NLS_CURRENCY para
'©':ALTER SESSION SET NLS_CURRENCY='©'; -
Execute esta consulta:
SELECT TO_CHAR(salary, 'L099G999D99') "Salary" FROM EMPLOYEES WHERE salary > 13000;Resultado:
Salary --------------------- ©024,000.00 ©017,000.00 ©017,000.00 ©014,000.00 ©013,500.00 - Defina NLS_TERRITORY e NLS_CURRENCY como os valores que eles tiveram na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_CURRENCY
Sobre o Parâmetro NLS_ISO_CURRENCY
Este parâmetro especifica o símbolo de moeda ISO (a string retornada pelo elemento de formato numérico C).
Especifica: Símbolo da moeda ISO (a string do caractere retornada pelo elemento do formato numérico C).
Valores Aceitáveis: Qualquer string válida de símbolo monetário.
Valor Padrão: Definido por NLS_TERRITORY, descrito em "Sobre o Parâmetro NLS_TERRITORY".
Os símbolos de moeda local podem ser ambíguos, mas os símbolos de moeda ISO são exclusivos. Exemplo 7-9 mostra que os territórios AUSTRALIA e AMERICA têm o mesmo símbolo de moeda local, mas diferentes símbolos de moeda ISO.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-9 NLS_ISO_CURRENCY
-
Observe os valores atuais de NLS_TERRITORY e NLS_ISO_CURRENCY.
-
se o valor de NLS_TERRITORY na etapa 1 não for
AUSTRALIA, altere-o:ALTER SESSION SET NLS_TERRITORY=AUSTRALIA; -
Execute a seguinte consulta:
SELECT TO_CHAR(salary, 'L099G999D99') "Local", TO_CHAR(salary, 'C099G999D99') "ISO" FROM EMPLOYEES WHERE salary > 15000;Resultado:
Local ISO --------------------- ------------------ $024,000.00 AUD024,000.00 $017,000.00 AUD017,000.00 $017,000.00 AUD017,000.00 -
Altere o valor de NLS_TERRITORY para
AMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Execute a seguinte consulta:
SELECT TO_CHAR(salary, 'L099G999D99') "Local", TO_CHAR(salary, 'C099G999D99') "ISO" FROM EMPLOYEES WHERE salary > 15000;Resultado:
Local ISO --------------------- ------------------ $024,000.00 USD024,000.00 $017,000.00 USD017,000.00 $017,000.00 USD017,000.00 - Defina NLS_TERRITORY e NLS_ISO_CURRENCY como os valores que eles tiveram na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_ISO_CURRENCY
Sobre o Parâmetro NLS_DUAL_CURRENCY
Este parâmetro especifica o símbolo de moeda dupla (introduzido para suportar o símbolo de moeda do euro durante o período da transição do euro).
Especifica: Símbolo de moeda dupla (introduzido para suportar o símbolo de moeda do euro durante o período da transição do euro).
Valores Aceitáveis: Qualquer string válida de símbolo monetário.
Valor Padrão: Definido por NLS_TERRITORY, descrito em "Sobre o Parâmetro NLS_TERRITORY".
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_DUAL_CURRENCY
Sobre o Parâmetro NLS_SORT
Este parâmetro especifica a ordem de classificação linguistica (sequência de colagem) para consultas que têm a cláusula ORDER BY.
Especifica: Ordem de classificação linguística (sequência de colagem) para consultas que têm a cláusula ORDER BY.
Valores Aceitáveis:
-
BINARYA ordem de classificação baseia-se na ordem de sequência binária do conjunto de caracteres do banco de dados ou de caracteres nacionais, dependendo do tipo de dados.
-
Qualquer nome de classificação linguística suportado pela Oracle
A ordem de classificação baseia-se na ordem do nome de classificação linguística especificado. O nome de classificação linguística normalmente é igual ao nome do idioma, mas nem sempre. Para obter uma lista de nomes suportados de classificação linguística, consulte Oracle Database Globalization Support Guide.
Valor Padrão: Definido por NLS_LANGUAGE, descrito em "Sobre o Parâmetro NLS_LANGUAGE".
O exemplo 7-10 mostra como duas definições NLS_SORT diferentes afetam o resultado exibido da mesma consulta. As definições são BINARY e Espanhol Tradicional (SPANISH_M). Espanhol Tradicional trata·ch, ll, e ñ como letras que vêm após c, l e n, respectivamente.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Sem Distinção entre Maiúsculas e Minúsculas
As operações no Oracle Database são sensíveis ao maiúsculo e aos acentos dos caracteres. Para executar uma classificação sem distinção entre maiúsculas e minúsculas, anexe _CI ao valor do parâmetro NLS_SORT (por exemplo, BINARY_CI ou GERMAN_CI). Para executar uma classificação que não faça distinção entre maiúsculas e minúsculas e acento, anexe _AI ao valor do parâmetro NLS_SORT (por exemplo, BINARY_AI ou FRENCH_M_AI).
Exemplo 7-10 NLS_SORT Afeta a Ordem de Classificação Linguística
-
Crie uma tabela para palavras em espanhol:
CREATE TABLE temp (name VARCHAR2(15)); -
Preencha a tabela com algumas palavras em espanhol:
INSERT INTO temp (name) VALUES ('laguna'); INSERT INTO temp (name) VALUES ('llama'); INSERT INTO temp (name) VALUES ('loco'); -
Observe o valor atual de NLS_SORT.
-
Se o valor de NLS_SORT na etapa 3 não for
BINARY, altere-o:ALTER SESSION SET NLS_SORT=BINARY; -
Execute a seguinte consulta:
SELECT * FROM temp ORDER BY name;Resultado:
NAME --------------- laguna llama loco -
Altere o valor de NLS_SORT para
SPANISH_M(Espanhol Tradicional):ALTER SESSION SET NLS_SORT=SPANISH_M; -
Repita a consulta da etapa 5.
Resultado:
NAME --------------- laguna loco llama -
Elimine a tabela:
DROP TABLE temp; - Definiu NLS_SORT como o valor que tinha na etapa 3.
Consulte também:
-
Guia de Suporte à Globalização do Oracle Database para saber mais sobre o parâmetro
NLS_SORT -
Guia de Suporte à Globalização do Oracle Database para mais informações sobre classificações que diferenciam maiúsculas de minúsculas e acentos
Sobre o Parâmetro NLS_COMP
Este parâmetro especifica o comportamento de comparação de caracteres das operações SQL.
Especifica: Comportamento de comparação de caracteres de operações SQL.
Valores Aceitáveis:
-
BINARYA SQL compara os códigos de caracteres binários. Um caractere será maior que outro se tiver um código binário superior.
-
LINGUISTICO SQL executa uma comparação linguística com base no valor do parâmetro
NLS_SORT, descrito em "Sobre o Parâmetro NLS_SORT". -
ANSIEsse valor é fornecido apenas para fins de compatibilidade com versões anteriores
Valor Padrão: BINARY
O Exemplo 7-11 mostra que o resultado de uma consulta pode depender da definição NLS_COMP.
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-11 NLS_COMP Afeta a Comparação de Caracteres SQL
-
Observe os valores atuais de NLS_SORT e NLS_COMP.
-
Se os valores de NLS_SORT e NLS_COMP na etapa 1 não forem
SPANISH_M(Espanhol Tradicional) eBINARY, respectivamente, altere-os:ALTER SESSION SET NLS_SORT=SPANISH_M NLS_COMP=BINARY; -
Execute a seguinte consulta:
SELECT LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE 'C%';Resultado:
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Chen Chung Colmenares 6 rows selected -
Altere o valor de NLS_COMP para
LINGUISTIC:ALTER SESSION SET NLS_COMP=LINGUISTIC; -
Repita a consulta da etapa 3.
Resultado:
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Colmenares 4 rows selectedDesta vez, Chen e Chung não são retornados porque Espanhol Tradicional trata
chcomo um único caractere que seguec. - Defina NLS_SORT e NLS_COMP para os valores que eles tiveram na etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_COMP
Sobre o Parâmetro NLS_LENGTH_SEMANTICS
Esse parâmetro especifica a semântica de comprimento das colunas dos tipos de dados CHAR, VARCHAR2 e LONG; ou seja, se essas colunas são especificadas em bytes ou em caracteres. (Só se aplica a colunas declaradas após a definição do parâmetro.)
Especifica: Semântica de tamanho para colunas dos tipos CHAR, VARCHAR2 e LONG; ou seja, se essas colunas são especificadas em bytes ou em caracteres. (Só se aplica a colunas declaradas após a definição do parâmetro.)
Valores Aceitáveis:
-
BYTEAs novas colunas CHAR, VARCHAR2 e LONG são especificadas em bytes.
-
CHARAs novas colunas CHAR, VARCHAR2 e LONG são especificadas em caracteres.
Valor Padrão: BYTE
Para testar este exemplo no SQL Developer, informe as instruções e as consultas na Planilha. Para obter informações sobre a Planilha, consulte "Executando Consultas no SQL Developer". Os resultados mostrados aqui são provenientes do SQL*Plus; seu formato é ligeiramente diferente no SQL Developer.
Exemplo 7-12 NLS_LENGTH_SEMANTICS Afeta o Armazenamento da coluna VARCHAR2
-
Observe os valores atuais de NLS_LENGTH_SEMANTICS.
-
Se o valor de NLS_LENGTH_SEMANTICS na etapa 1 não for
BYTE, altere-o:ALTER SESSION SET NLS_LENGTH_SEMANTICS=BYTE; -
Crie uma tabela com uma coluna VARCHAR2:
CREATE TABLE SEMANTICS_BYTE(SOME_DATA VARCHAR2(20)); -
Clique na guia Conexões.
-
No quadro Conexões, expanda hr_conn.
-
Na lista de tipos de objeto de esquema, expanda Tabelas.
-
Na lista de tabelas, selecione SEMANTICS_BYTE.
À direita do quadro Conexões, o painel Colunas mostra que, para Nome da Coluna SOME_DATA, o Tipo de Dados é
VARCHAR2(20 BYTE). -
Altere o valor de NLS_LENGTH_SEMANTICS para
CHAR:ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR; -
Crie outra tabela com uma coluna VARCHAR2:
CREATE TABLE SEMANTICS_CHAR(SOME_DATA VARCHAR2(20)); -
No quadro Conexões, clique no ícone Atualizar.
A lista de tabelas agora inclui SEMANTICS_CHAR.
-
Selecione SEMANTICS_CHAR.
O painel Colunas mostra que, para Nome da Coluna SOME_DATA, o Tipo de Dados é
VARCHAR2(20 CHAR). -
Selecione SEMANTICS_BYTE novamente.
O painel Colunas mostra que, para Nome da Coluna SOME_DATA, o Tipo de Dados ainda é
VARCHAR2(20 BYTE). - Defina o valor do NLS_LENGTH_SEMANTICS como o valor da etapa 1.
Consulte também:
-
Oracle Database Globalization Support Guide para mais informações sobre o parâmetro NLS_LENGTH_SEMANTICS