开发者社区> 问答> 正文

python sql in %问题

In[1]:secucode 
Out[1]:('002604',
     '002645',
     '002702',
     '002771',
     '300205',
     '300264',
     '300322')
In[2]: type(secucode)
Out[2]: tuple

In[3]:sql_date = "SELECT B.ListDate FROM SecuMain A,LC_AShareIPO B WHERE A.InnerCode = B.InnerCode AND A.SecuCode in %s" % secucode

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-42-3c7a28973a6f> in <module>()
----> 1 sql_date = "SELECT B.ListDate FROM SecuMain A,LC_AShareIPO B WHERE A.InnerCode = B.InnerCode AND A.SecuCode in %s" % secucode

TypeError: not all arguments converted during string formatting

查询一堆股票的上市时间,所以用了in,secucode类型为tuple,但是查询会报错,求问该怎么解决

展开
收起
a123456678 2016-07-04 16:18:20 4022 0
1 条回答
写回答
取消 提交回答
  • 问题很简单,提示 secucode 不是字符串。

    直接 str(secucode) 即可

    sql_date = "SELECT B.ListDate FROM SecuMain A,LC_AShareIPO B WHERE A.InnerCode = B.InnerCode AND A.SecuCode in %s" % str(secucode)
    Update:
    推荐使用 str.format, 会自动 str
    
    In [6]: a = ('sdf', 'sdf')
    
    In [7]: '{}'.format(a)
    Out[7]: "('sdf', 'sdf')"
    2019-07-17 19:50:50
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载