1
ila 2022-01-18 20:22:45 +08:00 via Android 1
用 f format,
f"{condi1}"。 先 print 出来看组装后的字符串 |
2
youthfire OP 自己发现了两处问题
1.改用 code = 时,后面%就不需要了,因为只有在 like 时有效 2.安全角度和便捷角度,应该使用参数写法 但换了种表达方式,似乎也不见效 df = pd.DataFrame(pd.read_sql("select * from f63 where code = ? OR code = ? AND engine like '%?%'", (str(code), str(code2), str(keystring2))), conn) |
3
youthfire OP 解决了
df = pd.DataFrame(pd.read_sql("select * from f63 where code = ? OR code = ? AND engine like ?", conn, params=[str(code), str(code2), '%' + str(keystring2) + '%'])) |
4
dayeye2006199 2022-01-19 01:43:47 +08:00 1
虽然这边是用在 pandas 里面,但是拼装 sql 语句不是好习惯。
|
5
RRRoger 2022-01-19 10:15:42 +08:00 1
用 py3 的 f"....." 或者 "...".format()
都比你这个+清晰 |