【发布时间】:2013-03-27 21:39:45
【问题描述】:
我在冗长复杂的 SELECT 语句中发现了一个隐蔽的逗号
在 python 脚本中,我有这样一行
con.execute("SELECT STR_TO_DATE(date_recieved, '%%m/%%d/%%Y') from raw_table")
但是,这让 MySQLdb 不高兴,并抱怨:
File "/lib/python2.6/site-packages/MySQL_python-1.2.4-py2.6-linux-x86_64.egg/MySQLdb/cursors.py",
line 183, in execute
query = query % db.literal(args)
TypeError: not all arguments converted during string formatting
我不想要任何争论。我想将 '%' 传递给 MySQL(我真的想要 '%m/%d/%Y' 但尝试转义百分比:%%)。
【问题讨论】:
-
也许你必须两次逃脱它们:
%%%m/%%%d/%%%Y -
@furins 不,这不起作用。然后它认为 %m 是一个格式字符。
-
你试过 3 和 4
%吗? -
4% 是原始错误信息
-
那么三个
%,你得到什么错误? (抱歉我暂时无法安装 MySQL-python 自己测试)
标签: python mysql mysql-python