2011-05-10 5 views
4

Ormlite에서 실제 SQL을 작성하지 않고 대/소문자를 구분하지 않는 쿼리를 만들 수 있습니까? 예를 들어Ormlite에서 대/소문자를 구분하지 않음 쿼리를 작성하십시오

, 내가

열 이름을 찾고있는 경우 - "계정 이름" 및 열 쿼리, 나는 모든 "금융", "금융", "금융"등에 대한 결과를 좀하고 싶습니다 . "금융"을 검색하면.

기능적 지원이 있는지 아니면 SQL을 작성해야하는지 궁금합니다.

감사합니다.

답변

17

나는 내 자신의 질문에 대답하고 있지만 다음은 작동하는 것처럼 보입니다.

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

는 위의 모든 "금융", "금융", "금융"또는 그 어떤 다른 변화를 반환하는 것 같다.

+0

물론 equal 대신 * Like를 사용하면 인덱스를 사용할 수 없습니다. 성능 문제가 발생하면 쿼리 계획을 확인하십시오. –

1

지금 당장 (2011 년 5 월) 실제 SQL을 작성하고 queryRaw() 및 기타 원시 메소드를 사용하는 것을 제외하면 ORMLite로이를 수행 할 수있는 메커니즘이 없습니다.

많은 데이터베이스에서 MySQL은 예를 들어 case insensitivity looks to be the default입니다. 그러나 Postgresql이나 Oracle의 경우에는 그렇지 않습니다.

다양한 데이터베이스 구현을 간략하게 살펴보면 매우 쉽고 이식 가능한 방법이 없다는 것을 알 수 있습니다. 내가 잘못?

관련 문제