sqlalchemy 怎么查看某时间段的内容?

我数据库时间存放格式是:2016-01-01 01:01:01

我写的语句是这样的。。。

Article.query.filter(and_(Article.time > year,Article.time < '2017')).with_entities(Article.content,Article.title,Article.time,Article.alias).all()

执行结果 year = 2016

SELECT zlog_article.content AS zlog_article_content, zlog_article.title AS zlog_article_title, zlog_article.time AS zlog_article_time, zlog_article.alias AS zlog_article_alias 
FROM zlog_article 
WHERE zlog_article.time > :time_1 AND zlog_article.time < :time_2

但是好像不行,这样能查出来2015年的数据,
而且还有报错

/plog/venv/lib/python2.7/site-packages/sqlalchemy/engine/default.py:450: Warning: Incorrect datetime value: '2016' for column 'time' at row 1
  cursor.execute(statement, parameters)
/plog/venv/lib/python2.7/site-packages/sqlalchemy/engine/default.py:450: Warning: Incorrect datetime value: '2017' for column 'time' at row 1

请问我要做到查询某段时间的日期应该怎么做呢? 如果只查询2016年的数据呢?

补充------

我刚才又试了一下

看报错,我这边试了一下,是因为时间类型不对,datetime转一下year变量就行了,怎么那么复杂呢?没有简便的方法吗?

阅读 5.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进