繁体   English   中英

如何从sqlalchemy的Date字段获取月份和年份?

[英]How to get month and year from Date field in sqlalchemy?

结果应该是Date对象

由于当天无法“删除”,因此请将其设置为月份的第1天。

只留下一个月,一年

您可以使用以下构造来使用yearmonth过滤Date列:

.filter(extract('year', Foo.Date) == 2012)
.filter(extract('month', Foo.Date) == 12)

而且group_by也是可能的:

.group_by(sqlalchemy.func.year(Foo.Date), sqlalchemy.func.month(Foo.Date))

现在我还没有对它进行测试,但我认为这可能会很慢,因为这些查询会导致全表扫描,因此我建议您花些时间学习如何使用复合列

如果您声明这样的架构,

schema.Column('created', types.TIMESTAMP(), default=now()),

函数now()在同一模块中定义,可以是这样的

def now():
    now_date = datetime.datetime.now()
    return now_date.replace(day=1)

按照group_by的要求, 是一个提到的方法。

您可以类似地修改小时和其他字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM