2013-07-15 4 views
0

에 SQLite는에서 특정 패턴의 모든 행을 얼마나 일부 데이터는 주파수 등 어떤 패턴에, 주파수 [1], 주파수 [2] ...를 표 로이드

이 패턴의 모든 행으로부터 얻을 방법 테이블, where 절에서 빈도를 제공합니까?

'GLOB' 키워드로 시도했지만 더 이상 데이터를 반환하지 않습니다.

검색어 : 당신의 상태가 (frequency GLOB 'Ff') OR ('Ff[*]') 것을 동일하기 때문에 귀하의 쿼리가 작동하지

select * from tblfrequencyCustom where frequency GLOB 'Ff' OR 'Ff[*]' 

답변

1

. frequency GLOB 'Ff'에는 와일드 카드가 없으므로 데이터와 일치하지 않는 frequency='Ff'과 동일합니다. 'Ff[*]'은 정수 0으로 변환되며 항상 false입니다.

그래서, 당신은 일반적인 SQL 연산자 LIKE (대소 문자 구분)를 사용할 수 있습니다 : 그것은 완벽하게 작동 키워드처럼 사용

SELECT * FROM tblfrequencyCustom WHERE frequency='frequency' OR frequency GLOB 'frequency[[]*[]]'; 
+0

: 일반적이지 운영자 GLOB를 사용

SELECT * FROM tblfrequencyCustom WHERE frequency='frequency' OR frequency LIKE 'frequency[%]'; 

을, 당신은 []을 탈출해야한다 하지만 GLOB을 사용하면 아무런 결과도 얻지 못합니다. – user2251725

+0

수정 됨! 'GLOB'을 사용하면'%'대신'*'를 사용해야합니다. SELECT * FROM tblfrequencyCustom WHERE frequency GLOB 'frequency *';를 사용하여 쿼리를 최적화 할 수 있습니다. –