使用暴露的PSQL不区分大小写的搜索

时间:2018-10-22 13:34:42

标签: postgresql kotlin kotlin-exposed

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

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

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

1 个答案:

答案 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))