Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Сделать, чтобы при вводе имени запрос не был чувствителен к регистру  [new]
des1roer
Member

Откуда:
Сообщений: 1192
Хочу задать вопрос, чтобы при вводе имени запрос не был чувствителен к регистру. То есть он мог написать "кончита", "Кончита", "КоНчИтА" и нашлось бы одно "Кончита" (в базе насколько я понял все пишется с заглавной). В принципе можно сильно и не усложнять, просто менять строчные буквы в начале на заглавные, ну и (защита от дурака) - заглавные в слове на строчные, чтобы запрос выглядел where name = 'Кончита'. Как это проще сделать - средствами пхп проверять что ввел пользователь или запрос в оракл передать какой нить красивый.
14 май 14, 05:55    [16013365]     Ответить | Цитировать Сообщить модератору
 Re: Сделать, чтобы при вводе имени запрос не был чувствителен к регистру  [new]
des1roer
Member

Откуда:
Сообщений: 1192
решается с помощью пхп в одну строчку
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Выведет У Мэри Был Маленький Ягненок И Она Его Очень Любила
14 май 14, 06:04    [16013368]     Ответить | Цитировать Сообщить модератору
 Re: Сделать, чтобы при вводе имени запрос не был чувствителен к регистру  [new]
AntonG
Member

Откуда: Иркутск
Сообщений: 38
des1roer,

UPPER или lower или Initcap
14 май 14, 06:59    [16013389]     Ответить | Цитировать Сообщить модератору
 Re: Сделать, чтобы при вводе имени запрос не был чувствителен к регистру  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
des1roer,

+
SQL> select ename from scott.emp where ename = 'king';

строки не выбраны

SQL> alter session set nls_sort=russian_ci;

Сеанс изменен.

SQL> alter session set nls_comp=linguistic;

Сеанс изменен.

SQL> select ename from scott.emp where ename = 'king';

ENAME
----------
KING
14 май 14, 14:26    [16015575]     Ответить | Цитировать Сообщить модератору
 Re: Сделать, чтобы при вводе имени запрос не был чувствителен к регистру  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
orawish
des1roer,
+
SQL> select ename from scott.emp where ename = 'king';

строки не выбраны

SQL> alter session set nls_sort=russian_ci;

Сеанс изменен.

SQL> alter session set nls_comp=linguistic;

Сеанс изменен.

SQL> select ename from scott.emp where ename = 'king';

ENAME
----------
KING
Только предупреждай, что плану придет кирдык
14 май 14, 17:23    [16016918]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить