1

仍在尝试熟悉scalikejdbc。使用 sql 语法将使用 scalike jdbc 的查询发送到表中以获取最大日期的最简单方法是什么?像下面这样非常简单的东西可以正常工作,但是当我尝试在列周围添加 max 时给我一个错误。

  val maxDate: Option[String] = DB readOnly { implicit session =>
    sql"select <column> from <table>"
      .map(rs => rs.string("<column")).first.apply()
  }

这不起作用:

val maxDate: Option[String] = DB readOnly { implicit session =>
    sql"select max(<column>) from <table>"
      .map(rs => rs.string("<column")).first.apply()
  }

错误:无法检索值,因为找不到列名。如果您使用的是 SQLInterpolation,...

4

1 回答 1

0

我预计会发生这种情况,因为max(MyColumn)默认情况下列没有名称“MyColumn”。你可以试试这样的东西

  val maxDate: Option[String] = DB readOnly { implicit session =>
    sql"select max(MyColumn) as MyColumn_max from MyTable"
      .map(rs => rs.string("MyColumn_max")).first.apply()
  }
于 2018-01-27T14:16:38.210 回答