¿Dónde puedo consultar mayúsculas y minúsculas una base de datos de Oracle?
-
12-09-2019 - |
Pregunta
¿Dónde puedo consultar la configuración de mayúsculas y minúsculas actual de una base de datos Oracle?
He intentado buscar en v$database
, nls_database_parameters
, y mirando a través de los paquetes del sistema, pero ninguno de ellos parecen proporcionar la información que necesito ...
Solución
En Oracle 10gR2
:
SELECT *
FROM NLS_SESSION_PARAMETERS
WHERE parameter IN ('NLS_COMP', 'NLS_SORT')
SQL> ALTER SESSION SET NLS_COMP = 'LINGUISTIC'
2 /
Session altered
SQL> SELECT COUNT(*)
2 FROM dual
3 WHERE 'a' = 'A'
4 /
COUNT(*)
----------
1
SQL> ALTER SESSION SET NLS_COMP = 'BINARY'
2 /
Session altered
SQL> SELECT COUNT(*)
2 FROM dual
3 WHERE 'a' = 'A'
4 /
COUNT(*)
----------
0
NLS_COMP
especifica el comportamiento de colación de la sesión de base de datos.Los valores:
BINARY
Normalmente, las comparaciones en la cláusula
WHERE
y en bloquesPL/SQL
es binario a no ser que se especifique la funciónNLSSORT
.
LINGUISTIC
Las comparaciones para todas las operaciones
SQL
en la cláusulaWHERE
y en bloquesPL/SQL
deben utilizar el tipo lingüística especificada en el parámetroNLS_SORT
. Para mejorar el rendimiento, también puede definir un índice de lingüística en la columna para la que desea comparaciones lingüísticas.
ANSI
Un ajuste de
ANSI
es para la compatibilidad hacia atrás; en general, se debe configurarNLS_COMP
aLINGUISTIC
Otros consejos
Además de las respuestas ya dadas, tenga en cuenta que los cambios de sensibilidad a las mayúsculas en 11g - por ejemplo, consulte la documentación 11g re contraseñas.
Para Oracle 10gR2 (y posterior), los parámetros son NLS_COMP y NLS_SORT.
select * from v$nls_parameters where parameter in ('NLS_COMP','NLS_SORT');
(Estos parámetros se establecen a nivel de sesión. La configuración de una sesión se heredan del entorno de base de datos, a menos que exista establecer una variable de entorno del sistema operativo o una instrucción ALTER SESSION.)
Si desea "entre mayúsculas y minúsculas" clasificación y la coincidencia de cadenas, se pueden tratar los siguientes valores:
alter session set NLS_SORT=BINARY_CI;
alter session set NLS_COMP=LINGUISTIC;
No son los únicos ajustes de los parámetros, por supuesto. documentación de Oracle 10gR2: