我有一个用python编写的MySQL查询,它检查日期范围。命令如下:
"""
SELECT <something>
FROM <a_table>
WHERE datekey BETWEEN (SELECT date_key
FROM `date_table` WHERE date={date_start})
AND (SELECT date_key
FROM `date_table` WHERE date={date_end})
""".format(date_start=date_start, date_end=date_end)
其中date_start
和{2014-04-13
现在当我执行这个命令时,看起来MySQL将日期字符串解释为一个等式,从而返回Incorrect date value: '1997' for column 'date' at row 1
1997年=2014年4月13日
我就是这么想的。在
我想将字符串作为原始字符串传入,但未能成功(我尝试使用r“”和u“”)
有没有办法把变量作为字符串传入?在
你好像缺少日期文字的单引号。在
MySQL将看到一个“空”的短划线字符作为一个减法操作
MySQL的看法与此相同:
^{pr2}$为了让MySQL看到文本日期,我们用单引号将其括起来
在MySQL中,如果DATE或time的值是有效的,则会将DATE或time隐式地转换为DATE或time
MySQL还将在MySQL需要日期或日期时间的上下文中隐式地转换数字文本,例如
我不知道有谁会相信这一点。当文字用单引号括起来时,我们会得到相同的结果。。。在
相关问题 更多 >
编程相关推荐