gpt4 book ai didi

python - 如何将日期格式作为参数传递给 Mysqldb 执行方法

转载 作者:行者123 更新时间:2023-11-28 18:42:41 24 4
gpt4 key购买 nike

为了转义 % 我们可以按照下面的方式做。

cur.execute("SELECT DATE_FORMAT(END_DATE, '%%Y-%%m-%%d') FROM  CALENDAR_DETAILS", ())

但是知道如何将日期格式传递给执行方法吗?

cur.execute("SELECT DATE_FORMAT(END_DATE, %s) FROM  CALENDAR_DETAILS", "%%Y-%%m-%%d")

我得到的 cur.fetchone() 结果为“%Y-%m-%d”,而不是第二条语句的格式化日期值。

非常感谢。

最佳答案

简短版本 - 使用:

cur.execute("SELECT DATE_FORMAT(END_DATE, %s) FROM  CALENDAR_DETAILS", "%Y-%m-%d")

长(呃)版本:

execute 格式化查询字符串,所以当您的查询中有 % - 您需要转义它们(第一行)。但是,当 % 不在查询中而是在参数中时 - 无需转义。当你运行时:

cur.execute("SELECT DATE_FORMAT(END_DATE, %s) FROM  CALENDAR_DETAILS", "%%Y-%%m-%%d")

执行的查询是

SELECT DATE_FORMAT(END_DATE, '%%Y-%%m-%%d') FROM CALENDAR_DETAILS

即您以您提供给 sql server 的格式转义格式。这就像给出格式 '7777' - 你总是得到 '7777' - 所以在这种情况下你总是得到 %Y-%m-%d。

关于python - 如何将日期格式作为参数传递给 Mysqldb 执行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24300573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com