2

我们如何在 postgres sql 数据库上使用 Exposed(Kotlin) 进行不区分大小写的搜索?

SELECT users.id, users.name, users.created_at, users.updated_at FROM users 
WHERE users.name iLIKE '%aaa%'

like运营商。我没有看到ilike运营商。我应该在查询字段上使用小写字母吗?

4

1 回答 1

8

ILIKE是 PostgreSQL 特有的功能,目前在 Exposed 中不支持,但是你可以自己定义:

class ILikeOp(expr1: Expression<*>, expr2: Expression<*>) : ComparisonOp(expr1, expr2, "ILIKE")

infix fun<T:String?> ExpressionWithColumnType<T>.ilike(pattern: String): Op<Boolean> = ILikeOp(this, QueryParameter(pattern, columnType))
于 2018-10-24T20:57:51.797 回答