2012-11-12 5 views
1

안녕하세요. JPA를 사용하여 데이터베이스를 쿼리하면 column like 'whatever%' 쿼리를 수행해야합니다."%"를 SQL 와일드 카드로 사용할 수 있습니까?

My DB는 현재 Mysql이므로 문제없이 수행 할 수 있지만 데이터베이스의 와일드 카드 문자를 검색 할 수있는 방법이 있는지 궁금합니다.

내가 DB를 바꿀 가능성은 거의 없지만 잘 ... 나는 가능한 한 일반적인 것으로 노력하고있다.

그래서 "%"는 와일드 카드 (_을 말하는 것이 아닙니다)가 사용되고 영원히 사용됩니까?

정보 주셔서 감사합니다!

+0

2618 년 SQL 버전이 다른 문자를 사용하지 않는다는 것을 어떻게 보장 할 수 있습니까? – ceejayoz

+0

그게 핵심입니다. DB를 요청하는 방법을 알고 있습니까? –

+0

SQL 표준보다 오래 지속되는 앱이 정말로 걱정 되십니까? – ceejayoz

답변

4

%은 ANSI SQL입니다. 이 값은 주요 데이터베이스에서 구성 할 수 없으므로 이러한 데이터베이스에서 와일드 카드 문자를 반환하는 메서드를 제공 할 필요가 없습니다.

*을 와일드 카드 문자로 사용하는 MS Access와 같은 ANSI 이외의 SQL 데이터베이스로 마이그레이션하려는 경우에만주의해야합니다.

가능성이있는 경우 응용 프로그램에서 와일드 카드 문자를 구성 가능하게 설정하고 하드 코딩 된 문자 대신 와일드 카드 문자가 포함 된 변수를 제공하는 것이 좋습니다.

+0

그래, 그게 내가 한 짓이야. –

+0

어쨌든 쿼리에 구문에 약간의 차이가 있으므로 다양한 데이터베이스에 어댑터를 사용합니다. 이 방법을 사용하면 LIKE 연산자를 수작업으로 사용할 수있는 기회를 얻게됩니다 (결국 전체 텍스트 검색 기능도 사용하게됩니다) – alzaimar

관련 문제