可以使用像 "strftime" 这样的日期函数吗?
It's possible to use date functions like "strftime"?
我试图创建这样的表达式
let performedDate = Expression<String>("strftime('%Y-%m-%d', performedDate)")
然后使用过滤方法与另一个字符串进行比较。
但是生成的SQL是
"strftime('%Y-%m-%d', performedDate)" = '2017-08-17'
。
有一种方法可以从 "strftime('%Y-%m-%d', performedDate)"
中删除引号,或者我必须使用原始 SQL 字符串?
我通过在 Expression
类型上创建扩展来解决我的问题
extension Expression {
public func strftime(format: String) -> Expression {
return Expression("strftime('\(format)', \(template))", bindings)
}
}
然后使用
let date = Expression<String>("startDate")
let dateFormat = date.strftime(format: "%Y-%m-%d")
您也可以使用 dateFormat
作为投影或过滤器方法。
我试图创建这样的表达式
let performedDate = Expression<String>("strftime('%Y-%m-%d', performedDate)")
然后使用过滤方法与另一个字符串进行比较。 但是生成的SQL是
"strftime('%Y-%m-%d', performedDate)" = '2017-08-17'
。
有一种方法可以从 "strftime('%Y-%m-%d', performedDate)"
中删除引号,或者我必须使用原始 SQL 字符串?
我通过在 Expression
类型上创建扩展来解决我的问题
extension Expression {
public func strftime(format: String) -> Expression {
return Expression("strftime('\(format)', \(template))", bindings)
}
}
然后使用
let date = Expression<String>("startDate")
let dateFormat = date.strftime(format: "%Y-%m-%d")
您也可以使用 dateFormat
作为投影或过滤器方法。