[PYTHON] LIKE에서 와일드 카드를 사용하는 Python SQLite 매개 변수 대체
PYTHONLIKE에서 와일드 카드를 사용하는 Python SQLite 매개 변수 대체
아래와 같이 Python Sqlite 라이브러리에서 매개 변수화 된 LIKE 쿼리를 사용하려고합니다.
self.cursor.execute("select string from stringtable where string like '%?%' and type = ?", (searchstr,type))
하지만 ? 와일드 카드 내부가 평가되지 않아서이 오류가 발생합니다.
"sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied."
나는 또한 쿼리 버전의 태그를 사용하여 노력 :
'% : searchstr %'및 { "searchstr": searchstr ...이 (가)있는 목록에서
하지만 내가 쿼리를 실행하면 수동으로 "% a % '와 (와) 같이 배치하더라도 쿼리가 실행되지만 결과를 반환하지 않습니다.
어떤 제안이라도 제발?
해결법
-
==============================
1.따옴표는 둘 중 하나를 보호합니까? 또는 : 장소 보유자로 지목되는 이름 - 문자 그대로 사용됩니다. 전달중인 문자열 주위에 백분율 기호를 배치하고 따옴표없이 일반 자리 표시자를 사용해야합니다. 나는
따옴표는 둘 중 하나를 보호합니까? 또는 : 장소 보유자로 지목되는 이름 - 문자 그대로 사용됩니다. 전달중인 문자열 주위에 백분율 기호를 배치하고 따옴표없이 일반 자리 표시자를 사용해야합니다. 나는
self.cursor.execute( "select string from stringtable where string like ? and type = ?", ('%'+searchstr+'%', type))
그 둘 다 주목하지? 따옴표로 묶여 있습니다. 정확히 자리 표시 자로 간주해야합니다.
from https://stackoverflow.com/questions/3105249/python-sqlite-parameter-substitution-with-wildcards-in-like by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Pandas : dropna 이후 inplace rename을위한 특별한 성능 저하 (0) | 2018.10.14 |
---|---|
[PYTHON] 십진수 표 변환 (0) | 2018.10.14 |
[PYTHON] 문자열에서 터플을 파싱 하시겠습니까? (0) | 2018.10.14 |
[PYTHON] 숫자에 '소수 자리 표시'천 단위 구분 기호 추가 (0) | 2018.10.14 |
[PYTHON] 파이썬 : 특정 입력이 얻어 질 때까지 프로그램을 반복하는 법? (0) | 2018.10.14 |