在Slick中执行SQL强制转换

时间:2014-06-20 09:27:14

标签: sql scala slick

使用Slick,我知道我可以将sql函数映射到这样的scala值:

val toChar = SimpleFunction.binary[Date, String, String]("TO_CHAR")

并将其称为:

toChar.apply(dateColumn, "yyyy-MM-dd")

有没有办法映射CAST功能?它有不同的形式:CAST(dateColumn AS CHAR)

谢谢!

2 个答案:

答案 0 :(得分:5)

已经有someString.asColumnOf[Int]。并且有SimpleExpression用于自己映射。请参阅"用户定义"手册部分。我们的测试套件中的JdbcScalarFunctionTest中有一个用法示例。

答案 1 :(得分:1)

我是这样做的:

SimpleExpression.unary[Date, String] { (date, qb) =>
      qb.sqlBuilder += "CAST( "
      qb.expr(date)
      qb.sqlBuilder += " AS CHAR)"
    }

感谢提示!