我正在尝试将DATEPART用于一个灵活的查询,以便在一年中的每个月给我一个值的总和。为此,我正在尝试以下查询:
val empenhado = tableReference.filter(_.cancelled.isEmpty)
.filter(_.unidadeGestora like unidadeGestora)
.filter(_.confirmado)
.filter(_.anoEmissao === now.get(Calendar.YEAR))
.filterNot(_.id in queryEstornado)
.groupBy(r => datePart("mm",r.dataEmissao))
.map(r => (r._1, r._2.map(r2 => r2.valorEmpenhado).sum))
empenhado.run
当我尝试运行它时,我收到错误:
[SQLException:为datepart指定的参数1无效。]
我已将datePart函数定义为:
protected val datePart = SimpleFunction.binary[String,Date,Int]("DATEPART")
date属性名为dataEmissao,它被映射为 java.sql.Date
如何正确地将参数传递给DATEPART?
更新
我检查了光滑生成的SQL语句,我注意到它试图将参数传递给DATEPART:
DATEPART( '毫米',X2 “data_emissao”)
虽然它应该是:
DATEPART(毫米,X2。 “data_emissao”)
如何通过 mm 而不是'mm'?
答案 0 :(得分:0)
datePart("mm"
应该是
datePart(mm