[SQL] SQLite는 쿼리, 'LIKE'
SQLSQLite는 쿼리, 'LIKE'
내 데이터베이스에서 정보를 검색하는 것을 시도하고있다. 나는 임 원 몽과 제한 같은 단어가 있습니다.
나는 이름 LIKE이 '% LIM %'는 임 원 몽과 제한을 모두 표시 memberdb에서 내 쿼리, SELECT 이름을하고 난 단지 임 원 몽의 데이터를합니다.
어떻게 쿼리를 다시 작성해야합니까?
해결법
-
==============================
1.쿼리 다음 실행 :
쿼리 다음 실행 :
select name from memberdb where name like '% LIM %' OR name like "LIM %" OR name like "% LIM" OR name like "LIM"
-
==============================
2.당신이 "액세스 제한"이라는 단어를 일치 시키려면 (그것을 "는 LIM", "LIM은", "는 LIM은"및 "액세스 제한", 그러나 "제한"또는 "ALIM"를 일치하도록), 당신은을 사용할 수 있습니다 (<: [] [와 [] [] :>) SQL 정규 표현식을 사용 단어 경계 키워드합니다. 이 경기 공백 (공백, 탭, 줄 바꿈), 문자열의 시작 / 종료, 일부 문장 부호뿐만 아니라.
당신이 "액세스 제한"이라는 단어를 일치 시키려면 (그것을 "는 LIM", "LIM은", "는 LIM은"및 "액세스 제한", 그러나 "제한"또는 "ALIM"를 일치하도록), 당신은을 사용할 수 있습니다 (<: [] [와 [] [] :>) SQL 정규 표현식을 사용 단어 경계 키워드합니다. 이 경기 공백 (공백, 탭, 줄 바꿈), 문자열의 시작 / 종료, 일부 문장 부호뿐만 아니라.
이 같은:
SELECT name FROM memberdb WHERE name REGEXP '[[:<:]]LIM[[:>:]]'
주 정규 표현식은 대소 문자를 구분하지 않습니다 것을 (바이너리 문자열을 사용하지 않는 한).
당신은 단지 공간을 일치시킬 경우에도 정규 표현식을 사용할 수 있습니다; 이 문자열의 시작이나 공간 중 하나와 일치합니다, 다음 "액세스 제한"을 선택한 후 공백이나 문자열의 끝 :
SELECT name FROM memberdb WHERE name REGEXP '(^| )LIM( |$)'
(안드로이드의 모든 3.5.9 이상을 사용하는 SQLite는 3 이상) 두 솔루션 모두 지원 정규 표현식은 SQL 버전에서 테스트되었습니다.
-
==============================
3.이거 한번 해봐:
이거 한번 해봐:
SELECT name FROM MEMBERDB WHERE name LIKE 'LIM %' OR name LIKE '% LIM' OR name LIKE '% LIM %' OR name LIKE 'LIM';
이 같은 데이터 뭔가가 있다고 가정 :
'LIMITED' 'Lim Won Mong' 'Wang Tat Lim' 'ELIM TED' 'lim' 'Wang LIM tim'
이 쿼리는 당신에게 오직 다음과 같은 데이터를 반환합니다 :
'Lim Won Mong' 'Wang Tat Lim' 'lim' 'Wang LIM tim'
from https://stackoverflow.com/questions/12613926/sqlite-query-like by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 선택 문 내에서 NULL과 빈 문자열을 교체 (0) | 2020.06.10 |
---|---|
[SQL] 어떻게 Access에서 하위 쿼리와 업데이트 쿼리를 수행합니까? (0) | 2020.06.10 |
[SQL] MSSQL 정규 표현식 (0) | 2020.06.10 |
[SQL] 왜 PL SQL 익명 블록이 완료 출력 없음? [복제] (0) | 2020.06.10 |
[SQL] 어디 연습에서 온 "(에서 ... 1 선택)을 존재"는 무엇입니까? (0) | 2020.06.10 |