Открытое условие запроса SQL Datetime

У меня есть таблица с двумя полями типа Datetime и int.

object DummyTable : IntIdTable("db.table", columnName = "id") {
    val createdAt = datetime("created_at")
    val mins = integer("mins")
    override val primaryKey = PrimaryKey(id)
}

У меня есть функция, в которой я хочу проверить условие, что createdAt plus mins меньше Datetime now.

 fun isValid(id: String): String? {
      return DummyTable.select{
          COND??
        }.single()[DummyTable.age]
    }

Что-то вроде этого:

DummyTable.createdAt plus minutes   lessEq  DateTime.now()??

Каким будет условие запроса?


person Avenger    schedule 26.08.2020    source источник


Ответы (1)


Я думал, что этого ответа на github было достаточно.

class DateAddMins(val dateExp: Expression<DateTime>, val addMins: Expression<Int?>) : Expression<DateTime>() {
    override fun toQueryBuilder(queryBuilder: QueryBuilder) = queryBuilder {
        append("DATE_ADD(", dateExp, ", INTERVAL IFNULL(", addMins, ", 0) MINUTE)")
    }
}

DummyTable.select { 
    DateAddMins(DummyTable.createdAt, DummyTable.mins) lessEq DateTime.now) 
}
person Tapac    schedule 28.08.2020