Acerca de los Parámetros NLS Individuales
Hay disponibles muchos parámetros NLS individuales.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para más información sobre la configuración de un entorno de soporte de globalización.
Acerca de la Configuración Regional y el Parámetro NLS_LANG
Una configuración regional es un entorno lingüístico y cultural en el que se ejecuta un sistema o aplicación. La forma más sencilla de especificar una Configuración Regional para Software de Oracle Database es definir el parámetro NLS_LANG.
El parámetro NLS_LANG define los valores por defecto de los parámetros NLS_LANGUAGE y NLS_TERRITORY para la sesión de servidor (por ejemplo, proceso de sentencia SQL) y la aplicación cliente (por ejemplo, mostrar formato en herramientas de la base de datos Oracle Database). El parámetro NLS_LANG también define el juego de caracteres que la aplicación cliente utiliza para datos introducidos o mostrados.
El valor por defecto de NLS_LANG se define durante las instalaciones de la base de datos. Puede utilizar la sentencia ALTER SESSION para cambiar los valores de las variables NLS, incluidos los definidos con NLS_LANG, para la sesión. Sin embargo, sólo el cliente puede cambiar los valores de NLS en el entorno de cliente.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre cómo especificar una entorno regional con el parámetro
NLS_LANG. -
Consulte Oracle Database Globalization Support Guide para obtener información sobre las lenguas, territorios, juegos de caracteres y otros datos de configuraciones regionales soportados por Oracle Database.
Acerca del Parámetro NLS_LANGUAGE
Este parámetro especifica el idioma por defecto de la base de datos.
Especifica: idioma por defecto de la base datos. Convenciones por defecto para:
-
Idioma para los mensajes del servidor
-
Idioma para el nombre y abreviaturas de días y meses especificados en las funciones SQL TO_CHAR y TO_DATE
-
Símbolos para equivalentes de idioma por defecto de a.m., p.m., dC y aC
-
Orden por defecto para datos de carácter al especificar la cláusula ORDER BY
-
Indicación de escritura
-
Cadenas de respuesta afirmativas y negativas (por ejemplo, SÍ y NO)
Valores aceptables: Cualquier nombre de idioma que Oracle soporte. Para obtener una lista, consulte Guía de soporte de globalización de Oracle Database.
Valor por Defecto: Definido por NLS_LANG, descrito en "Acerca de las Configuraciones Regional y el Parámetro NLS_LANG".
Define los valores por defecto de:
-
NLS_DATE_LANGUAGE, descrito en "Acerca del Parámetro NLS_DATE_LANGUAGE".
-
NLS_SORT, descrito en "Acerca del Parámetro NLS_SORT".
En el ejemplo 7-1 se muestra cómo la definición de NLS_LANGUAGE en ITALIAN y GERMAN afecta a mensajes del servidor y abreviaturas de meses.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-1 NLS_LANGUAGE Afecta a los Mensajes del Servidor y abreviaturas de Meses
-
Anote el valor actual de NLS_LANGUAGE.
-
Si el valor del paso 1 no es
ITALIAN, cámbielo:ALTER SESSION SET NLS_LANGUAGE=ITALIAN; -
Consulte una tabla inexistente:
SELECT * FROM nonexistent_table;Resultado:
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: tabella o vista inesistente -
Ejecute la siguiente 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. -
Cambie el valor de NLS_LANGUAGE a
GERMAN:ALTER SESSION SET NLS_LANGUAGE=GERMAN; -
Repita la consulta desde el paso 3.
Resultado:
SELECT * FROM nonexistent_table * ERROR at line 1: ORA-00942: Tabelle oder View nicht vorhanden -
Repita la consulta desde el paso 4.
Resultado:
LAST_NAME HIRE_DATE ------------------------- --------- Sciarra 30-SEP-97 Urman 07-MRZ-98 Popp 07-DEZ-99 3 rows selected. - Defina NLS_LANGUAGE en los valores que tenía en los pasos 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_LANGUAGE.
Acerca del Parámetro NLS_TERRITORY
Este parámetro especifica las convenciones por defecto para el formato de fecha, el formato de registro de hora, el separador decimal y de grupo, el símbolo de moneda local, el símbolo de moneda ISO y el símbolo de moneda doble.
Especifica las convenciones por defecto para:
-
Formato de fecha
-
Formato de registro de horas
-
Carácter decimal y separador de grupo
-
Símbolo de divisa local
-
Símbolo ISO de divisa
-
Símbolo de divisa dual
Valores aceptables: Cualquier nombre de territorio que Oracle soporte. Para obtener una lista, consulte Guía de soporte de globalización de Oracle Database.
Valor por Defecto: Definido por NLS_LANG, descrito en "Acerca de las Configuraciones Regional y el Parámetro NLS_LANG".
Define los valores por defecto de:
-
NLS_DATE_FORMAT, descrito en "Acerca del Parámetro NLS_DATE_FORMAT".
-
NLS_TIMESTAMP_FORMAT y NLS_TIMESTAMP_TZ_FORMAT, descritos en "Acerca de las Parámetros NLS_TIMESTAMP_FORMAT y NLS_TIMESTAMP_TZ_FORMAT".
-
NLS_NUMERIC_CHARACTERS, descrito en "Acerca del Parámetro NLS_NUMERIC_CHARACTERS". -
NLS_CURRENCY, como se describe en "Acerca del Parámetro NLS_CURRENCY".
-
NLS_ISO_CURRENCY, descrito en "Acerca del Parámetro NLS_ISO_CURRENCY".
-
NLS_DUAL_CURRENCY, como se describe en "Acerca del Parámetro NLS_DUAL_CURRENCY".
El Ejemplo 7-2 muestra cómo la definición de NLS_TERRITORY en JAPAN y AMERICA afecta a los símbolos de divisa.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-2 NLS_TERRITORY afecta al símbolo de moneda
-
Anote el valor actual de NLS_TERRITORY.
-
Si el valor del paso 1 no es
JAPAN, cámbielo:ALTER SESSION SET NLS_TERRITORY=JAPAN; -
Ejecute la siguiente 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. -
Cambie el valor de
NLS_TERRITORYaAMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Repita la consulta desde el paso 3.
Resultado:
SALARY -------------------- $24,000.00 $17,000.00 $17,000.00 3 rows selected. - Defina
NLS_TERRITORYen El Valor que Tenía en El Paso 1
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_TERRITORY.
Acerca del Parámetro NLS_DATE_FORMAT
Este parámetro especifica el formato de fecha por defecto que se utilizará con las funciones TO_CHAR y TO_DATE.
Especifica el formato de fecha por defecto que se utiliza con las funciones TO_CHAR y TO_DATE (que se introducen en "Uso de Funciones de Conversión en Consultas").
Valores aceptables: Cualquier modelo con formato de fecha/hora válido. Por ejemplo:
NLS_DATE_FORMAT='MM/DD/YYYY'
Para obtener información sobre los modelos de formato de fecha y hora, consulte Referencia de lenguaje SQL de Oracle Database.
Valor por Defecto: Definido por NLS_TERRITORY, descrito en "Acerca del Parámetro NLS_TERRITORY".
Puede que el formato de fecha por defecto no se corresponda con la convención utilizada en un territorio determinado. Para obtener fechas con formatos localizados, puede utilizar los formatos 'DS' (fecha corta) y 'DL' (fecha largo). En el Ejemplo 7-3 se muestra cómo la definición de NLS_TERRITORY en AMERICA y FRANCE afecta a los formatos por defecto, abreviada y larga. En el ejemplo 7-4 se cambia el valor de NLS_DATE_FORMAT, sustituyendo el valor predeterminado definido por NLS_TERRITORY.
Para probar los ejemplos en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-3 NLS_TERRITORY afecta a los formatos de fecha
-
Anote el valor actual de NLS_TERRITORY.
-
Si el valor del paso 1 no es
AMERICA, cámbielo:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Ejecute la siguiente 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. -
Cambie el valor de NLS_TERRITORY a
FRANCE:ALTER SESSION SET NLS_TERRITORY=FRANCE; -
Repita la consulta desde el paso 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 obtener los nombres de los días y meses en francés, debe definir NLS_LANGUAGE o NLS_DATE_LANGUAGE en
FRENCHantes de ejecutar la consulta). - Defina NLS_TERRITORY en los valores que tenía en la etapa 1.
Ejemplo 7-4 NLS_DATE_FORMAT sustituye a NLS_TERRITORY
-
Anote los valores actuales de NLS_TERRITORY y NLS_DATE_FORMAT.
-
Si el valor de NLS_TERRITORY del paso 1 no es
AMERICA, cámbielo:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Si el valor de NLS_DATE_FORMAT del paso 1 no es
'Day Month ddth', cámbielo:ALTER SESSION SET NLS_DATE_FORMAT='Day Month ddth'; -
Ejecute esta consulta (a partir del ejemplo anterior, paso 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 y NLS_DATE_FORMAT en los valores que tenían en la etapa 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para más información sobre el parámetro NLS_DATE_FORMAT.
-
Para obtener más información sobre la función TO_CHAR, consulte Oracle Database SQL Language Reference
-
Para obtener más información sobre la función TO_DATE, consulte Oracle Database SQL Language Reference
Acerca del Parámetro NLS_DATE_LANGUAGE
Este parámetro especifica el idioma para los nombres y las abreviaturas de días y meses producidos por: las funciones SQL TO_CHAR y TO_DATE, el formato de fecha por defecto (definido por NLS_DATE_FORMAT) y los símbolos para los equivalentes de idioma por defecto de AM, PM, AD y BC.
Especifica: el idioma para nombres y abreviaturas de días y meses producidos por:
-
Las funciones SQL TO_CHAR y TO_DATE (que se introducen en "Uso de Funciones de Conversión en Consultas")
-
El formato de fecha por defecto (definido mediante NLS_DATE_FORMAT, descrito en "Acerca del Parámetro NLS_DATE_FORMAT")
-
Símbolos para equivalentes de idioma por defecto de a.m., p.m., dC y aC
Valores aceptables: Cualquier nombre de idioma que Oracle soporte. Para obtener una lista, consulte Guía de soporte de globalización de Oracle Database.
Valor por Defecto: Definido por NLS_LANGUAGE, descrito en "Acerca del Parámetro NLS_LANGUAGE".
En el Ejemplo 7-5 se muestra cómo la definición de NLS_DATE_LANGUAGE en FRENCH y SWEDISH afecta a la fecha de sistema visualizada.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-5: efectos de NLS_DATE_LANGUAGE mostrados SYSDATE
-
Anote el valor actual de NLS_DATE_LANGUAGE.
-
Si el valor de NLS_DATE_LANGUAGE en la etapa 1 no es
FRENCH, cámbielo:ALTER SESSION SET NLS_DATE_LANGUAGE=FRENCH; -
Ejecute esta consulta:
SELECT TO_CHAR(SYSDATE, 'Day:Dd Month yyyy') "System Date" FROM DUAL;Resultado:
System Date -------------------------- Vendredi:28 December 2012 -
Cambie el valor de NLS_DATE_LANGUAGE a
SWEDISH:ALTER SESSION SET NLS_DATE_LANGUAGE=SWEDISH; -
Repita la consulta desde el paso 3.
Resultado:
System Date ------------------------- Fredag :28 December 2012 - Defina
NLS_DATE_LANGUAGEen El Valor que Tenía en El Paso 1
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_DATE_LANGUAGE.
-
Para obtener más información sobre la función TO_CHAR, consulte Oracle Database SQL Language Reference
-
Consulte Oracle Database SQL Language Reference para ver más información sobre la función y
Acerca de los Parámetros NLS_TIMESTAMP_FORMAT y NLS_TIMESTAMP_TZ_FORMAT
Este parámetro especifica el formato de fecha por defecto para la cinta de audio TIMESTAMP y la cinta de audio TIMESTAMP WITH LOCAL TIME ZONEaudiotapeTIMESTAMP WITH LOCAL TIME ZONEaudio.
Especificar el formato de fecha por defecto para lo siguiente:
-
TIMESTAMP audiotape
-
TIMESTAMP CON ZONA DE TIEMPO LOCAL
Valores aceptables: Cualquier modelo con formato de fecha/hora válido. Por ejemplo:
NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH:MI:SS.FF'
NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM'
Para obtener información sobre los modelos de formato de fecha y hora, consulte Referencia de lenguaje SQL de Oracle Database.
Valor por Defecto: Definido por NLS_TERRITORY, descrito en "Acerca del Parámetro NLS_TERRITORY".
Consulte además:
-
Para obtener más información sobre el parámetro NLS_TIMESTAMP_FORMAT, consulte Oracle Database Globalization Support Guide
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_TIMESTAMP_TZ_FORMAT
-
Consulte Oracle Database Globalization Support Guide para obtener información sobre el tipo de dato de fecha/hora y soporte para zona horaria.
-
Consulte Oracle Database SQL Language Reference para ver más información sobre la cinta de audio TIMESTAMP.
-
Consulte Oracle Database SQL Language Reference para más información sobre el tipo del dato TIMESTAMP WITH LOCAL TIME ZONE.
Acerca del Parámetro NLS_
Este parámetro especifica el sistema de calendario para la base de datos.
Especifica: el sistema de calendario de la base de datos.
Valores aceptables: Cualquier sistema de calendario que Oracle soporte. Para obtener una lista, consulte Guía de soporte de globalización de Oracle Database.
Valor por defecto: Gregorian
En el Ejemplo 7-6 se muestra cómo la definición de NLS_CALENDAR en 'English Hijrah' y Gregorian afecta a la fecha de sistema visualizada.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-6 Los efectos de NLS_CALENDAR mostrados SYSDATE
-
Anote el valor actual de NLS_CALENDAR.
-
Si el valor de NLS_CALENDAR en la etapa 1 no es
'English Hijrah', cámbielo:ALTER SESSION SET NLS_CALENDAR='English Hijrah'; -
Ejecute la siguiente consulta:
SELECT SYSDATE FROM DUAL;Resultado:
SYSDATE ------------------------- 17 Safar 1434 -
Cambie el valor de NLS_CALENDAR a
'Gregorian':ALTER SESSION SET NLS_CALENDAR='Gregorian'; -
Ejecute la siguiente consulta:
SELECT SYSDATE FROM DUAL;Resultado:
SYSDATE --------- 31-DEC-12 - Defina NLS_CALENDAR en los valores que tenía en los pasos 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro
NLS_CALENDAR
Acerca del Parámetro NLS_NUMERIC_CHARACTERS
Este parámetro especifica el carácter decimal (que separa las partes enteras y decimales de un número) y el separador de grupos (que separa grupos enteros para mostrar las millas y los millones, por ejemplo). El separador de grupos es el carácter devuelto por el elemento del formato numérico G.
Especifica el carácter decimal (que separa las partes entera y decimal de un número) y la separación de grupos (que separa grupos enteros para mostrar las millas y millones, por ejemplo). El separador de grupos es el carácter devuelto por el elemento del formato numérico G.
Valores aceptables: Dos caracteres de un solo byte diferentes, excepto:
-
Un carácter numérico
-
Más (+)
-
Menos (-)
-
Menor que (<)
-
Mayor que (>)
Valor por Defecto: Definido por NLS_TERRITORY, descrito en "Acerca del Parámetro NLS_TERRITORY".
En una sentencia SQL, puede representar un número como:
-
Literal numérico
Un literal numérico no se incluye entre comillas, utiliza siempre un punto (.) como carácter decimal y nunca contiene un separador de grupos.
-
Literal de texto
Un literal de texto se incluye entre comillas simples. Se convierte implícita o explícitamente en un número, si es necesario, según los valores de NLS actuales.
En el Ejemplo 7-7 se muestra cómo dos configuraciones distintas de NLS_NUMERIC_CHARACTERS afectan al resultado mostrado de la misma consulta.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-7 NLS_NUMERIC_CHARACTERS Afecta al Carácter Decimal y Separador de Grupos
-
Anote el valor actual de NLS_NUMERIC_CHARACTERS.
-
Si el valor de NLS_NUMERIC_CHARACTERS en la etapa 1 no es
",."(el carácter decimal es coma y los separadores de grupo son punto), cámbielo:ALTER SESSION SET NLS_NUMERIC_CHARACTERS=",."; -
Ejecute la siguiente consulta:
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Resultado:
Number --------- 4.000,00 -
Cambie el valor de NLS_NUMERIC_CHARACTERS a
",."(el carácter decimal es un punto y el separador de grupos es coma):ALTER SESSION SET NLS_NUMERIC_CHARACTERS=".,"; -
Ejecute la siguiente consulta:
SELECT TO_CHAR(4000, '9G999D99') "Number" FROM DUAL;Resultado:
Number --------- 4,000.00 - Defina NLS_NUMERIC_CHARACTERS en los valores que tenía en la etapa 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_NUMERIC_CHARACTERS
Acerca del Parámetro NLS_CURRENCY
Este parámetro especifica el símbolo a la moneda local (cadena a caracteres devuelta por el elemento de formato numérico L).
Especifica el símbolo del divisa local (cadena del carácter devuelta por el elemento del formato numérico L).
Valores aceptables: Cualquier cadena de símbolos de moneda válida.
Valor por Defecto: Definido por NLS_TERRITORY, descrito en "Acerca del Parámetro NLS_TERRITORY".
En el ejemplo 7-8 se cambia el valor de NLS_CURRENCY, sustituyendo el valor predeterminado definido por NLS_TERRITORY. Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-8 NLS_CURRENCY sustituye a NLS_TERRITORY
-
Anote los valores actuales de NLS_TERRITORY y NLS_CURRENCY.
-
Si el valor de NLS_TERRITORY del paso 1 no es
AMERICA, cámbielo:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Ejecute 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 -
Cambie el valor de NLS_CURRENCY a
'©':ALTER SESSION SET NLS_CURRENCY='©'; -
Ejecute 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 y NLS_CURRENCY en los valores que tenían en la etapa 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_CURRENCY.
Acerca del Parámetro NLS_ISO_CURRENCY
Este parámetro especifica el símbolo de moneda ISO (la cadena devuelta por el elemento de formato numérico C).
Especifica: el símbolo De Divisa ISO (cadena De Caracteres Devuelta Por El Elemento De Formato Numérico C).
Valores aceptables: Cualquier cadena de símbolos de moneda válida.
Valor por Defecto: Definido por NLS_TERRITORY, descrito en "Acerca del Parámetro NLS_TERRITORY".
Los símbolos de divisa local pueden ser ambiguos, pero los símbolos de divisa ISO son únicos. En el ejemplo 7-9 se muestra que los territorios AUSTRALIA y AMERICA tienen el mismo indicador de divisa local, pero símbolos de divisa ISO distintos.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-9 NLS_ISO_CURRENCY
-
Anote los valores actuales de NLS_TERRITORY y NLS_ISO_CURRENCY.
-
Si el valor de NLS_TERRITORY del paso 1 no es
AUSTRALIA, cámbielo:ALTER SESSION SET NLS_TERRITORY=AUSTRALIA; -
Ejecute la siguiente 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 -
Cambie el valor de NLS_TERRITORY a
AMERICA:ALTER SESSION SET NLS_TERRITORY=AMERICA; -
Ejecute la siguiente 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 y NLS_ISO_CURRENCY en los valores que tenían en la etapa 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_ISO_CURRENCY.
Acerca del Parámetro NLS_DUAL_CURRENCY
Este parámetro especifica el símbolo de doble moneda (introducido para soportar el símbolo de la moneda del euro durante el periodo de transición al euro).
Especifica: el símbolo del euro (introducido para soportar el símbolo del euro durante el periodo de transición al euro).
Valores aceptables: Cualquier cadena de símbolos de moneda válida.
Valor por Defecto: Definido por NLS_TERRITORY, descrito en "Acerca del Parámetro NLS_TERRITORY".
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_DUAL_CURRENCY.
Acerca del Parámetro NLS_SORT
Este parámetro especifica el orden de clasificación lingüística (secuencia de intercalamiento) para consultas que tienen la cláusula ORDER BY.
Especifica la ordenación lingüística (secuencia de intercalamiento) para consultas que tienen la cláusula ORDER BY.
Valores aceptables:
-
BINARYEl orden de clasificación se basa en el orden de secuencia binario del juego de caracteres de la base de datos o del juego de caracteres nacional, según el tipo de dato.
-
Cualquier nombre de ordenación lingüística que soporte Oracle
El orden de clasificación se basa en el orden del nombre de ordenación lingüística especificado. El nombre de ordenación lingüística suele coincidir con el nombre de idioma, pero no siempre. Para obtener una lista de los nombres de ordenación lingüísticos soportados, consulte Oracle Database Globalization Support Guide.
Valor por Defecto: Definido por NLS_LANGUAGE, descrito en "Acerca del Parámetro NLS_LANGUAGE".
En el Ejemplo 7-10 se muestra cómo dos valores de NLS_SORT distintos afectan al resultado mostrado de la misma consulta. Los valores son BINARY y español tradicional (SPANISH_M). El español tradicional trata la ch, ll y ñ como letras que siguen a la c, l y n, respectivamente.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ordenaciones No Sensibles a Mayúsculas/Minúsculas Ni a Acentos
Las operaciones dentro de Oracle Database son sensibles a mayúsculas/minúsculas y los acentos de los caracteres. Para realizar una ordenación que no distingue entre mayúsculas y minúsculas, agregue _CI al valor del parámetro NLS_SORT (por ejemplo, BINARY_CI o GERMAN_CI). Para realizar una ordenación que no sea sensible a mayúsculas/minúsculas y acentos, agregue _AI al valor del parámetro NLS_SORT (por ejemplo, BINARY_AI o FRENCH_M_AI).
Ejemplo 7-10 NLS_SORT Afecta al Ordenación Lingüística
-
Cree una tabla para palabras españolas:
CREATE TABLE temp (name VARCHAR2(15)); -
Rellene la tabla con algunas palabras españolas:
INSERT INTO temp (name) VALUES ('laguna'); INSERT INTO temp (name) VALUES ('llama'); INSERT INTO temp (name) VALUES ('loco'); -
Anote el valor actual de NLS_SORT.
-
Si el valor de NLS_SORT del paso 3 no es
BINARY, cámbielo:ALTER SESSION SET NLS_SORT=BINARY; -
Ejecute la siguiente consulta:
SELECT * FROM temp ORDER BY name;Resultado:
NAME --------------- laguna llama loco -
Cambie el valor de NLS_SORT a
SPANISH_M(español tradicional):ALTER SESSION SET NLS_SORT=SPANISH_M; -
Repita la consulta desde el paso 5.
Resultado:
NAME --------------- laguna loco llama -
Borre la tabla:
DROP TABLE temp; - Defina NLS_SORT en El Valor que Tenía en El Paso 3
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro
NLS_SORT -
Oracle Database Globalization Support Guide para más información sobre las ordenaciones no sensibles a mayúsculas/minúsculas y a acentos
-
"Acerca de la Ordención Lingüística y la Búsqueda de Cadenas"
Acerca del Parámetro NLS_COMP
Este parámetro especifica el comportamiento de comparación de caracteres de las operaciones SQL.
Especifica: el comportamiento de comparación de carácter de operaciones SQL.
Valores aceptables:
-
BINARYSQL compara los códigos binarios de caracteres. Un carácter es mayor que otro si tiene un código binario más alto.
-
LINGUISTICSQL realiza una comparación lingüística según el valor del parámetro
NLS_SORT, descrito en "Acerca del Parámetro NLS_SORT". -
ANSIEste valor se proporciona sólo para compatibilidad con versiones anteriores.
Valor por defecto: BINARY
En el Ejemplo 7-11 se muestra que el resultado de una consulta puede depender de la configuración de NLS_COMP.
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-11 NLS_COMP Afecta a las Comparaciones de Caracteres SQL
-
Anote los valores actuales de NLS_SORT y NLS_COMP.
-
Si los valores de NLS_SORT y NLS_COMP en los pasos 1 no son
SPANISH_M(español tradicional) yBINARYrespectivamente, cámbielos:ALTER SESSION SET NLS_SORT=SPANISH_M NLS_COMP=BINARY; -
Ejecute la siguiente consulta:
SELECT LAST_NAME FROM EMPLOYEES WHERE LAST_NAME LIKE 'C%';Resultado:
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Chen Chung Colmenares 6 rows selected -
Cambie el valor de NLS_COMP a
LINGUISTIC:ALTER SESSION SET NLS_COMP=LINGUISTIC; -
Repita la consulta desde el paso 3.
Resultado:
LAST_NAME ------------------------- Cabrio Cambrault Cambrault Colmenares 4 rows selectedEsta vez no se devuelve Chen y Chung porque la lengua española tradicional trata a
chcomo un carácter único que sigue alc. - Defina NLS_SORT y NLS_COMP en los valores que tenían en la etapa 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_COMP.
-
"Acerca de la Ordención Lingüística y la Búsqueda de Cadenas"
Acerca del Parámetro NLS_LENGTH_SEMANTICS
Este parámetro especifica la semántica de longitudes para columnas de tipos del dato de caracteres CHAR, VARCHAR2 y LONG; es decir, si estas columnas se especifican en bytes o en caracteres. (Sólo se aplica a columnas declaradas después de definir el parámetro).
Especifica la semántica a la longitud para columnas de tipos del dato CHAR, VARCHAR2 y LONG; es decir, si estas columnas se especifican en bytes o en caracteres. (Sólo se aplica a columnas declaradas después de definir el parámetro).
Valores aceptables:
-
BYTELas nuevas columnas CHAR, VARCHAR2 y LONG se especifican en bytes.
-
CHARLas nuevas columnas CHAR, VARCHAR2 y LONG se especifican en caracteres.
Valor por defecto: BYTE
Para probar este ejemplo en SQL Developer, introduzca las sentencias y consultas en la hoja de trabajo. Para obtener información sobre la hoja de trabajo, consulte "Ejecución de Consultas en SQL Developer". Los resultados mostrados aquí son de SQL*Plus; su formato es un poco diferente en SQL Developer.
Ejemplo 7-12 NLS_LENGTH_SEMANTICS Afecta al Almacenamiento de la Columna VARCHAR2
-
Anote los valores actuales de NLS_LENGTH_SEMANTICS.
-
Si el valor de NLS_LENGTH_SEMANTICS en la etapa 1 no es
BYTE, cámbielo:ALTER SESSION SET NLS_LENGTH_SEMANTICS=BYTE; -
Cree una tabla con una columna VARCHAR2:
CREATE TABLE SEMANTICS_BYTE(SOME_DATA VARCHAR2(20)); -
Haga clic en el separador Conexiones.
-
En el marco Conexiones, expanda hr_conn.
-
En la lista de tipos de objetos de esquema, amplíe Tablas.
-
En la lista de tablas, seleccione SEMANTICS_BYTE.
A la derecha del marco Conexiones, el panel Columnas muestra que para la columna Nombre SOME_DATA, el tipo de dato es
VARCHAR2(20 BYTE). -
Cambie el valor de NLS_LENGTH_SEMANTICS a
CHAR:ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR; -
Cree otra tabla con una columna VARCHAR2:
CREATE TABLE SEMANTICS_CHAR(SOME_DATA VARCHAR2(20)); -
En el marco Conexiones, haga clic en el icono Refrescar.
La lista de tablas ahora incluye SEMANTICS_CHAR.
-
Seleccione SEMANTICS_CHAR.
El panel Columnas muestra que el tipo de dato de la columna SOME_DATA es
VARCHAR2(20 CHAR). -
Vuelva a seleccionar SEMANTICS_BYTE.
El panel Columnas muestra que para la columna Nombre SOME_DATA, el tipo de dato sigue siendo
VARCHAR2(20 BYTE). - Defina el valor de NLS_LENGTH_SEMANTICS en la cantidad que tenía en la etapa 1.
Consulte además:
-
Consulte Oracle Database Globalization Support Guide para ver más información sobre el parámetro NLS_LENGTH_SEMANTICS