首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何格式化MySQL WHERE条件的日期时间

问如何格式化MySQL WHERE条件的日期时间
EN

Stack Overflow用户
提问于 2019-05-01 02:28:28
回答 1查看 578关注 0票数 0

我的查询出现错误。错误是

代码语言:javascript
复制
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '18:07:41' at line 1

首先,我不理解第1行是指什么,因为我的查询不在Python脚本中的第1行。

我的代码如下所示

代码语言:javascript
复制
conn = mysql.connector.connect(
    host='HOST.mysql.pythonanywhere-services.com',
    user='USER',
    passwd='PASSWORD',
    db='DBNAME')

    c = conn.cursor()

    value = datetime.now() - timedelta(5)

    value = value.strftime('%Y-%m-%d %H:%M:%S')

    c.execute("SELECT temp, humidity, rain, datetime FROM data WHERE datetime >= (%s);" % (value))

    rows = c.fetchall()

和datetime在另一个脚本中输入到数据库中,如下所示

代码语言:javascript
复制
str(datetime.datetime.now())

这是做这件事的最佳方式吗?我只想要一个值输入到数据库中的时间戳。

我在查询中使用了不同的参数进行了测试,例如temp的值

代码语言:javascript
复制
value = 10

        c.execute("SELECT temp, humidity, rain, datetime FROM data WHERE temp >= (%s);" % (value))

所以我想一定是我格式化datetime的方式有问题,但是我不确定如何验证这一点。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2019-05-01 02:34:37

像这样试一下

代码语言:javascript
复制
"select * FROM table WHERE datetime => '{}' ". format(value) 
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55926811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档