python中实现oracle查询条件按某字段多值查询

#!/usr/bin/python

# -*- coding: utf-8 -*-

import cx_Oracle

os.environ['NLS_LANG'] ='SIMPLIFIED CHINESE_CHINA.UTF8'

db = cx_Oracle.connect('abc/abc@***.***.**.***:1521/orcl')

cursor=db.cursor()

####当想从数据库中查询多个where条件时,可以将条件以字符串形式放到list中

list=['a','b','c']

s=str()

###下面的for循环是为了将list中的元素,转换成 select * from table_name where col_name in ('a','b','c')

sql_select="select*from table_name WHERE col_name in ("

for i in list:

    s=s+'\''+str(i)+'\''+','       #这里需要用''将list的每个元素标起来,如'a' ,因为虽然在python中已经转换为字符串,但是oracle并不识别

s=s.rstrip(',')

#上面循环的目的是把list=['a','b','c']转换成"'a','b','c'"并赋值给s,只有这种形式传递到oracle才能识别--------

sql_select_new=sql_select+s+")"

cursor.execute(sql_select_new)

df=cursor.fetchall()

你可能感兴趣的:(python中实现oracle查询条件按某字段多值查询)