sql >> Database teknologi >  >> RDS >> PostgreSQL

Brug af PostgresSQL INTERVAL i SQLAlchemy, hvor varigheden er dynamisk gemt i DB og ikke er en parameter

Løsningen faldt ud af SQL'en, da jeg skrev den manuelt:

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)

Dette refereret hjalp med at finde ud af, hvordan man i første omgang kan skabe intervallet dynamisk.




  1. GROUP_CONCAT nummerering

  2. En gennemgang af de nye analytiske vinduesfunktioner i MySQL 8.0

  3. Hvordan kan jeg aktivere MySQLi-udvidelsen i PHP 7?

  4. Jeg får hele tiden en fejl ved siden af ​​returneringen VARCHAR(4)