【发布时间】:2015-03-03 17:54:20
【问题描述】:
如何使用 SORM 和 PostgreSQL 在数据库中进行非敏感搜索?
我试过whereLike:
DB.query[User].whereLike("fullname", "%" + term + "%").fetch()
这将执行区分大小写的搜索。 PostreSQL 支持ILIKE 运算符,但在SORM DSL API 中没有找到ILIKE 函数。
我也试过whereRegex:
DB.query[User].whereRegex("fullname", term).fetch()
这会返回一个错误:
org.postgresql.util.PSQLException: ERROR: syntax error at or near "REGEXP"
Acording 到文档 PostgreSQL 不使用 REGEXP 运算符,它使用 ~ (tilda) 运算符。据我了解,这会导致错误。我想用正则表达式执行这样的事情:
SELECT "fullname" FROM "user" WHERE "fullname" ~ 'john';
谢谢!
【问题讨论】:
标签: regex postgresql sql-like sorm