Чувствительность к регистру имеет основополагающее значение для вычислений по той простой причине, что значение ASCII 'yun'! = Значение ASCII 'YUN'. Итак, когда вы говорите ...
считают данные нечувствительными к регистру
... Вы имеете в виду только для целей поиска или хранения?
Проблема с применением регистра при каждом поиске заключается в следующем:
SQL> create table t23 (id number, name varchar2(20))
2 /
Table created.
SQL> create unique index t23_uk on t23(name)
2 /
Index created.
SQL> insert into t23 values (1, 'SAM-I-AM')
2 /
1 row created.
SQL> insert into t23 values (2, 'sam-i-am')
2 /
1 row created.
SQL> select id, name, ascii(name) from t23
2 /
ID NAME ASCII(NAME)
---------- -------------------- -----------
1 SAM-I-AM 83
2 sam-i-am 115
SQL>
Если поиск без учета регистра выполняется на уровне схемы или таблицы, как мы можем отличить sam-I-am от SAM-I-AM?
Возможно - в некотором роде - возможно применение нечувствительности к регистру для хранения данных, хотя и на уровне отдельных столбцов:
SQL> delete from t23
2 /
2 rows deleted.
SQL> drop index t23_uk
2 /
Index dropped.
SQL> create unique index t23_uk on t23(upper(name))
2 /
Index created.
SQL> insert into t23 values (1, 'SAM-I-AM')
2 /
1 row created.
SQL> insert into t23 values (2, 'sam-i-am')
2 /
insert into t23 values (2, 'sam-i-am')
*
ERROR at line 1:
ORA-00001: unique constraint (APC.T23_UK) violated
SQL>