2013-06-12 3 views
2

Postgres 데이터베이스를 사용하는 Django 앱이 있습니다. 나는 다음을 수행하여 임시 테이블을 만드는 오전 : temp_table의 마지막 열 (pub_tags가) 문자열 배열을 포함Postgres 데이터베이스 열의 문자열 배열 일치 문자열

cursor.execute("""CREATE TEMP TABLE temp_table (pub_id INTEGER, pub_title TEXT, pub_tags TEXT[])""") 

공지 사항.

참고로 다음 코드 줄은 기존 테이블의 데이터를 임시 테이블에 삽입하고 올바르게 작동합니다.

cursor.execute("""INSERT INTO temp_table(pub_id, pub_title, pub_tags) SELECT...etc. 

마지막 단계를 들면, 나는 pub_tags 열에서 내가 입력하고 문자열에 일치하는 항목이의 temp_table에서 pub_titles을 좀하고 싶습니다.

예 : pub_tag 배열에 "men"문자열이 들어있는 모든 pub_titles를 얻고 싶습니다. 내가 구문이 같은 것 치지 : 올바르지 않은 및 구문 오류가 발생

cursor.execute("""SELECT pub_title FROM temp_table WHERE '%men%' IN (pub_tags)""") 

을, 그러나 희망은 내가 뭘하려고 오전에 대해 설명합니다. pub_tags가이 컨텍스트에서 배열임을 나타내는 방법을 모르겠습니다.

내가 예를 들어, 일부 포스트 그레스 문서에 언급 된 : 내가 여기서 일 아무것도 얻을 수없는 무엇을하려고

http://www.postgresql.org/docs/current/static/functions-array.htmlhttp://www.postgresql.org/docs/current/interactive/functions-comparisons.html#AEN18030

하지만 아무리. 포스트 그레스 documentation에서

+0

일 수 있습니다 구문처럼 보인다! –

+0

"구문 오류가 발생했습니다". ** 정확한 오류 메시지 **와 항상 PostgreSQL 버전을 항상 표시하십시오. –

답변

7

는 PostgreSQL의 사용에 대한

SELECT pub_title FROM temp_table WHERE 'men' = ANY (pub_tags)

+0

완벽 고맙습니다. – jac300