sql >> Databasteknik >  >> RDS >> Mysql

Använda ett SQLAlchemy Integer-fält för att skapa ett timedelta-objekt för filtrering

Jag tror inte att Interval kommer att hjälpa dig där, eftersom det inte skulle kunna tvingas till DB-specifika datum[tid] funktioner. Så du bör förmodligen använda plattformsspecifika datum[tid]-funktioner för att lösa detta.

Om du använder postgresql , bör koden nedan fungera (förutsatt att Items.days är heltal):

q = (session.query(Item)
     .filter(func.age(now, Item.created_on) <=
             func.make_interval(0, 0, 0, Item.days)
             )
     )

Se postgres' Datum/tid-funktioner och operatörer för mer information.



  1. MAKETIME() Exempel – MySQL

  2. Använd e-postadress som primärnyckel?

  3. Ställ in resultatet av en fråga till en variabel i MySQL

  4. UTF-8 hela vägen igenom