簡體   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