У меня есть запрос, который я пытаюсь преобразовать из Oracle в sqlalchemy, но у меня возникли проблемы с этой частью преобразования времени. Существует вероятность того, что ценность конверсии равна нулю, поэтому в этом случае ее следует рассматривать как 0.
Код: Выделить всё
stmt = (
select(QcSodTable)
.join(
LocalTimeTable,
and_(
QcSodTable.platformid == LocalTimeTable.platformid,
QcSodTable.networktype == LocalTimeTable.networktype
),
isouter=True,
)
.where(
((QcSodTable.datetime + cast(literal(1.5) + ' DAYS', Interval)) - (LocalTimeTable.time_conv / 24) < func.now(),
)
Это текущий запрос. Если time_conv существует, это работает как положено. Если time conv имеет значение Null, он не возвращает никаких результатов, если я удалю часть time_conv, он вернет то, что я ожидал. Есть ли способ заставить time_conv действовать как 0, когда оно равно нулю?
Подробнее здесь:
https://stackoverflow.com/questions/797 ... -statement