sql – 如何在Slick Queries中使用简单数学

我有这个想要转换为slick的查询:

SELECT (date_part('epoch', SUM(end_time - start_time))*1000)::bigint FROM v2_game

我可以忍受在scala而不是在数据库中发生的演员,但我对如何进行减法感到茫然. end_time和start_time都是Dates,表示为数据库中的时间戳.到目前为止我有这个:

val datePart = SimpleFunction.binary[String, Date, Double]("date_part")
  val q = for {
    g <- Games
  } yield datePart("epoch", g.startTime)

那么如何减去/添加值呢? Google在我的搜索中几乎没有返回任何结果,要么这非常简单,要么没有其他人想要在查询中使用一些数学.

我正在使用带有postgres sql的Slick 1.0.1

最佳答案 您可以在postgres中查看年龄函数.它计算日期之间的间隔.

http://www.postgresql.org/docs/9.3/static/functions-datetime.html

点赞