以下代码不起作用,因为datetime以这种形式返回一个值: datetime.date(2016,12,5)。数据库中的信息被作为日期时间输入,所以我认为SQL lite能够处理它。
唯一的区别是表格事件中的日期有小时和分钟因此LIKE因为我试图提取当天的所有事件。
date1 = (datetime.datetime.now() + datetime.timedelta(days=1)).date()
rows1 = db.execute ("SELECT * FROM events WHERE date LIKE :date ORDER BY date", date = date1)
错误
rows1 = db.execute(“SELECT * FROM events WHERE date LIKE:date ORDER 按日期“,日期=日期1)文件 “/usr/lib/python3/dist-packages/cs50/sql.py”,第41行,执行 引发RuntimeError(e)RuntimeError:不知道如何文字引用 值datetime.date(2016,12,5)
我该如何解决这个问题?
答案 0 :(得分:0)
解决了它..
date1 = (datetime.datetime.now() + datetime.timedelta(days=1)).date()
rows1 = db.execute ("SELECT * FROM events WHERE date LIKE :date ORDER BY date", date = str(date1) +'%')
为了喜欢工作,你需要一个%