sql >> Databasteknik >  >> RDS >> PostgreSQL

Använda PostgresSQL INTERVAL i SQLAlchemy där varaktigheten lagras dynamiskt i DB och inte är en parameter

Lösningen föll ur SQL när jag skrev den manuellt:

from sqlalchemy import func
from sqlalchemy.dialects.postgresql import INTERVAL
from sqlalchemy.sql.functions import concat
...
company_uuid = 'some_uuid'
query = db.session.query(CompanyFlagEntity)\
    .join(CompanyFlagTypeEntity)\  # implicit join using fk
    .filter(CompanyFlagEntity.company_uuid == company_uuid)\
    .filter((func.now() - func.cast(concat(db_base_app.CompanyFlagTypeEntity.default_lookback_days, ' DAYS'), INTERVAL)) <= cls.flag_date)

Detta refererade hjälpte till att ta reda på hur man skapar intervallet dynamiskt i första hand.




  1. Bilder i MySQL

  2. MySQL dubbelt lika tecken

  3. INST_TOP (Oracle R12 INSTANCE_HOME ) avkodad

  4. HUR väljer min från cast varchar till int i mysql