python - 在内联 SQL 查询 Python Flask 中使用 DATE_FORMAT 的问题

标签 python mysql sql date flask

我的查询在 python flask 中如下所示

result = app._engine.execute ("select bookingid, DATE_FORMAT(bookingdate, '%Y-%m-%d'), DATE_FORMAT(pickupdate, '%Y-%m-%d'), consigneeid, fromcity from booking where consignerid = '{0}'".format(loginid))

当我在 MySQL Workbench 中运行并以 yyyy-mm-dd 格式返回日期时,此查询有效,但是当我在 python flask 中运行时,出现以下错误

File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQLdb/cursors.py", line 187, in execute
query = query % tuple([db.literal(item) for item in args])TypeError: not enough arguments for format string

尽管查询中的 % 用于格式化而非传递参数,但它正在寻找更多参数。我确实尝试寻找原因但找不到好的原因,我在这里做错了什么?

最佳答案

当使用 MySQL Connector for Python 时,您应该转义文字 %,这是因为 Python 使用百分号 (%) 进行字符串格式化。

试试这个:

result = app._engine.execute ("select bookingid, DATE_FORMAT(bookingdate, '%%Y-%%m-%%d'), DATE_FORMAT(pickupdate, '%%Y-%%m-%%d'), consigneeid, fromcity from booking where consignerid = '{0}'".format(loginid))

关于python - 在内联 SQL 查询 Python Flask 中使用 DATE_FORMAT 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44623134/

相关文章:

python - 应用程序的自定义 django 管理模板

python - CQLSH 连接错误 : Bad Request: unconfigured columnfamily local

python - 在 Django Admin 中添加 map

MySQL 1064语法错误找不到错误

sql - 在 JSONB 字段上使用 Like 进行查询

sql - SQL中如何获取子组的计数

sql - Oracle SQL一条语句多属性多表权限授权

python - 在本地主机上运行 cgi-bin 时出现导入错误 - undefined symbol : lo_truncate64

mysql - Windows 批处理文件 - 连接到远程 MySQL 数据库保存结果文本输出

java - 从组合框中选择一个项目(名称)并自动插入正确的外键