擅长:python、mysql、java
<p><a href="http://bobby-tables.com/" rel="nofollow">Stop using string formatting with SQL. Right now</a>。明白吗?在</p>
<p>好了。SQL中有一个构造<code>ANY</code>,它允许您获取一个运算符并将其应用于数组。<code>psycopg2</code>支持将Python列表作为SQL<code>ARRAY[]</code>传递。所以在这种情况下你可以</p>
<pre><code>curs.execute('SELECT account_id FROM asmithe.data_hash WHERE percent LIKE ANY (%s)', (thelist,))
</code></pre>
<p>注意,<code>%s</code>是psycopg2查询参数占位符。它实际上不是一个格式说明符。第二个参数是元组,即查询参数。第一个(也是唯一的)参数是列表。在</p>
<p>还有一个<code>ALL</code>,它的工作原理与<code>ANY</code>相似,但只有当所有匹配项都为真时才为真,而不仅仅是当一个或多个匹配为真时。在</p>