제 문제에 대해 분명히 알기를 바랍니다. 고마워요 :)% s를 사용하지 않고 변수가있는 python SQL 문
임팔라 연결 (라이브러리 : impala.dbapi 가져 오기 연결에서)을 사용하고 있습니다. 일반적으로 cursor.execute(query.value, (year_var, month_var,day_var))
- 또한 변수, 잘 작동 :
쿼리를 실행하기 위해 나는 실행 명령을 사용하고 있습니다. 문제는 SQL LIKE 구문을 사용할 때 시작됩니다 (예 : '% seo'- % s이 (가) 포함).
create table bi_db.search_terms as
select search_query,search_contain,count(*) searches
from (
select search_query,
case when lower(search_query) like '%logo%' then 'logo'
when lower(search_query) like '%google%' then 'google'
when lower(search_query) like '%facebook%' then 'facebook'
when lower(search_query) like '%instagram%' then 'instagram'
when lower(search_query) like '%etsy%' then 'etsy'
when lower(search_query) like '%seo%' then 'seo'
when lower(search_query) like '%social media%' then 'social media'
else 'else' end as search_contain
from traffic_db.traffic_parq a
where year = %s AND month = %s AND day = %s AND controller = 'search' and action in ('gigs','users')
and search_query is not null and search_query<>'') t
group by search_query,search_contain
cursor.execute의 두 번째 인수 (예 : (year_var, month_var는 day_var가)) 난에두고있어 % s을 참조하십시오
1 차 인수 (query.value) 캐릭터 라인이다 동적 변수를 사용하기 위해 쿼리가 실행됩니다.
** 문제는 파이썬이가 생각하는 것입니다 (5 개) 인수 대신에만 3 전
누구나 이런 종류의 문제를 발생한 LIKE 문에서도 **에서 %seo
및 %social
을 가지고 있기 때문에 원인이의? 그것을 해결하는 방법을 알아?
감사합니다.
는 문자 그대로'%를'%%'사용 '. –