Asunto: Obtener valor juego caracteres por SQL de Oracle
Tengo un servidor con Linux Ubuntu 10 y Oracle 10g, lo utilizo como servidor de base de datos para las aplicaciones de facturación y contabilidad. Quisiera saber si es posible, mediante SQL, sacar el juego de caracteres completo de Oracle con el formato:
NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET
Por ejemplo:
AMERICAN_AMERICA.WE8MSWIN1252
Sé que Oracle tiene la tabla "nls_database_parameters" donde se guardan los parámetros del juego de caracteres y sé que los que me interesan son:
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
Pero el problema es que no sé cómo obtenerlos de la consulta SQL con el formato indicado anteriormente porque si hago un:
Código:
select * from nls_database_parameters
Me sale cada parámetro en un registro, y si hago un:
Código:
select value from nls_database_parameters where parameter = 'NLS_LANGUAGE'
or parameter='NLS_CHARACTERSET' or parameter='NLS_TERRITORY'
Me salen los tres parámetros pero cada uno en un registro.
Lo que quiero es que la consulta SQL muestre un solo registro con el valor de los tres parámetros juntos, uno separado con un "_" y el otro con un "."
Lo necesito así porque es el formato que hay que poner en el regedit, en la clave "NLS_LANG".
Publicado:
Mie Dic 15, 2010 9:41 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Obtener valor juego caracteres por SQL de Oracle
Anuncios
varios escribió:
Tengo un servidor con Linux Ubuntu 10 y Oracle 10g, lo utilizo como servidor de base de datos para las aplicaciones de facturación y contabilidad. Quisiera saber si es posible, mediante SQL, sacar el juego de caracteres completo de Oracle con el formato:
NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET
Por ejemplo:
AMERICAN_AMERICA.WE8MSWIN1252
Sé que Oracle tiene la tabla "nls_database_parameters" donde se guardan los parámetros del juego de caracteres y sé que los que me interesan son:
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
Pero el problema es que no sé cómo obtenerlos de la consulta SQL con el formato indicado anteriormente porque si hago un:
Código:
select * from nls_database_parameters
Me sale cada parámetro en un registro, y si hago un:
Código:
select value from nls_database_parameters where parameter = 'NLS_LANGUAGE'
or parameter='NLS_CHARACTERSET' or parameter='NLS_TERRITORY'
Me salen los tres parámetros pero cada uno en un registro.
Lo que quiero es que la consulta SQL muestre un solo registro con el valor de los tres parámetros juntos, uno separado con un "_" y el otro con un "."
Lo necesito así porque es el formato que hay que poner en el regedit, en la clave "NLS_LANG".
Puedes usar esta consulta SQL en Oracle:
Código:
select value || '_' ||
(select value from nls_database_parameters
where parameter = 'NLS_TERRITORY') || '.' ||
(select value from nls_database_parameters
where parameter = 'NLS_CHARACTERSET') Juego_caracteres
from nls_database_parameters where parameter = 'NLS_LANGUAGE'
Te devolverá el juego de caracteres completo tal y como lo necesitas. Como ves, Oracle permite "anidar" select dentro de los valores de otro select.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A