भागो:
SELECT *
FROM NLS_SESSION_PARAMETERS
WHERE parameter IN ( 'NLS_COMP', 'NLS_SORT' );
और देखें कि आप किन NLS सत्र मापदंडों का उपयोग कर रहे हैं।
उदाहरण के लिए:
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;
आउटपुट:
लेकिन:
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;
आउटपुट:
इसे ठीक करने के लिए, आप या तो कर सकते हैं:
NLS_SORT
बदलें सत्र पैरामीटर।- या (जैसा कि @AlexPoole द्वारा बताया गया है)
[:lower:]
का उपयोग करेंa-z
. के बजाय POSIX वर्ण-सेट ।
db<>fiddle यहां