В MySQL для регистронезависимого сравнения строк предусмотрены caseinsensitive collations (collation`ы с "_ci" на конце). В Postgres, на сколько я знаю, collation установить невозможно, поэтому остается использовать приведение обеих сравниваемых строк к одному регистру (через lower() или upper()) или использование регистронезависимого ILIKE. Оба варианта могут привести к тому, что в запросе не будет использоваться индекс, даже если поле, по которому ведется сравнение, проиндексировано. Также отсутствие регистронезависимого сравнения приводит к тому, что UNIQUE-ограничения также регистрозависимы.
Обсуждение данной темы есть тут: http://habrahabr.ru/qa/2445/.
Обсуждение данной темы есть тут: http://habrahabr.ru/qa/2445/.
Комментариев нет:
Отправить комментарий