Избегать повторяющихся записей без учета регистра? - PullRequest
1 голос
/ 14 апреля 2011

Как избежать дублирования записей без учета регистра?

Если кто-то вводит «Синий» и «Синий», уже существует в базе данных, я не вставляю новый ввод, чтобы избежать дублирования.

Однако, если кто-то вводит «BlUe», мой запрос, чтобы проверить, существует ли уже ввод, возвращает false и он вставляется.

Без применения строгого форматирования, то есть с использованием заглавных букв первой буквы каждого слова и нижнего регистра остальных слов, есть ли лучший способ сделать это?

Ответы [ 4 ]

3 голосов
/ 14 апреля 2011

добавить collate nocase в определение вашего столбца

1 голос
/ 14 апреля 2011

Обычно эта работа выполняется с обеих сторон: вы передаете значение в базу данных в верхнем регистре, а в sql также используете TO_UPPERCASE.

0 голосов
/ 14 апреля 2011

В этом случае я буду хранить значения в базе данных в одном регистре (возможно, ниже), и вы будете сравнивать без учета регистра. Для отображения вы можете просто сохранить отображаемое значение в том виде, в котором оно было введено пользователем (сохраняя смешанный регистр), или вы можете выполнить форматирование для нужного вам случая.

0 голосов
/ 14 апреля 2011

попробуйте предложение where как-то так. где UPPER('BLUe') = UPPER(colValue)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...