我正在使用 Javalin & Exposed ORM 构建一个小型 API。我正在尝试使用正则表达式 where 条件但抛出异常,因为由于我的代码执行的 SQL 查询似乎不完整(模式丢失)。
fun getUsersByFilter(filter: String): List<User> {
val regex = StringBuilder("/")
.append(filter.toLowerCase())
.append("/i")
.toString()
/**
* The .regexp(someString) method take a string as argument (a pattern)
*/
val users = transaction {
User.find{ Users.pseudo.regexp(regex) }.toList()
}
return users
}
Position : 141. Statement(s): SELECT users.id, users.pseudo, users.email, users."password", users.admin, users.created_at, users.updated_at FROM users WHERE users.pseudo REGEXP ?
org.jetbrains.exposed.exceptions.ExposedSQLException: org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de « REGEXP »
Position : 141
SQL: [SELECT users.id, users.pseudo, users.email, users."password", users.admin, users.created_at, users.updated_at FROM users WHERE users.pseudo REGEXP ?]
有人能帮助我吗?