В Ormlite напишите запрос без учета регистра

Можно ли в Ormlite сделать запрос без учета регистра без написания фактического SQL?

Например, если я ищу

имя столбца - «AccountName» и запрос в столбце, я хотел бы получить результаты для всех «Финансы», «Финансы», «ФИНАНСЫ» и т. д., если я выполняю поиск по «финансам».

Мне было интересно, есть ли функциональная поддержка для этого или мне нужно написать для этого SQL.

Спасибо!


person the5threvolution    schedule 10.05.2011    source источник


Ответы (2)


Я отвечаю на свой вопрос, но, похоже, работает следующее.

newDao.query(newDao.queryBuilder().where().like("nameColumn", "finance")
    .prepare())

Выше, похоже, возвращаются все «финансы», «Финансы», «ФИНАНСЫ» или любые другие их варианты.

person the5threvolution    schedule 12.05.2011
comment
Конечно, использование Like вместо equal может помешать использованию индексов. Если возникают проблемы с производительностью, проверьте план запроса. - person Name is carl; 12.07.2013

Прямо сейчас (май 2011 г.) в ORMLite нет механизма, позволяющего сделать это, за исключением написания фактического SQL и использования queryRaw() и других необработанных методов.

Во многих базах данных, например в MySQL, нечувствительность к регистру выглядит по умолчанию. Но это не относится к Postgresql ни Oracle.

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

person Gray    schedule 10.05.2011