我们如何在Postgres sql数据库上使用Exposed(Kotlin)进行不区分大小写的搜索?
SELECT users.id, users.name, users.created_at, users.updated_at FROM users
WHERE users.name iLIKE '%aaa%'
有like
个运算符。我没有看到ilike
运算符。我应该在查询字段上使用小写字母吗?
答案 0 :(得分:1)
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))