Corri:
SELECT *
FROM NLS_SESSION_PARAMETERS
WHERE parameter IN ( 'NLS_COMP', 'NLS_SORT' );
E guarda quali parametri di sessione NLS stai utilizzando.
Ad esempio:
ALTER SESSION SET NLS_COMP=BINARY;
ALTER SESSION SET NLS_SORT=BINARY;
SELECT regexp_count('OOO', '[a-z0-9]', 1, 'c' ) AS COUNT_AZ,
regexp_count('OOO', '[[:lower:][:digit:]]', 1, 'c' ) AS count_lower
FROM DUAL;
Uscite:
Ma:
ALTER SESSION SET NLS_COMP=ANSI;
ALTER SESSION SET NLS_SORT=GERMAN_AI;
-- or ALTER SESSION SET NLS_SORT=GERMAN_CI;
-- or ALTER SESSION SET NLS_SORT=FRENCH_CI;
-- or many others
SELECT regexp_count('OOO', '[a-z0-9]', 1, 'c' ) AS COUNT_AZ,
regexp_count('OOO', '[[:lower:][:digit:]]', 1, 'c' ) AS count_lower
FROM DUAL;
Uscite:
Per risolvere questo problema, puoi:
- Cambia il
NLS_SORT
parametro di sessione. - Oppure (come menzionato da @AlexPoole) usa il
[:lower:]
Set di caratteri POSIX invece dia-z
.
db<>violino qui