我正在尝试在SQL中绑定一个参数:
sql = "SELECT COLUMN_NAME,DATA_TYPE FROM USER_TAB_COLS WHERE TABLE_NAME=UPPER(:TABLENAME)"
print 'TABLENAME=',TABLENAME
sqlqry = sql %(TABLENAME)
但是得到字符串格式错误:
TypeError: not all arguments converted during string formatting
可能是什么问题?
答案 0 :(得分:1)
您在字符串中缺少占位符。
您希望将字符串:TABLENAME
中的sql
替换为我怀疑的%s
。
答案 1 :(得分:0)
你真的应该发布更多的代码来完全清楚,但看起来字符串'sql'不包含任何%-codes替代。您试图使用一个值,但并非所有这些都被使用(换句话说,没有替代)。您应该使用%s而不是:TABLENAME。