gpt4 book ai didi

regex - 使用 PostgreSQL 在 SORM 中进行非敏感搜索

转载 作者:行者123 更新时间:2023-11-29 14:03:09 25 4
gpt4 key购买 nike

如何使用 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';

谢谢!

最佳答案

正则表达式在 Postgres 中不起作用是一个错误,现在已在 0.3.17 版本中修复。感谢您发现这一点。

关于区分大小写,看起来 Postgres 也对正则表达式使用不同的运算符。嗯。看起来目前没有办法用 Postgres 做到这一点。 SORM 需要引入合适的运算符,欢迎贡献。

关于regex - 使用 PostgreSQL 在 SORM 中进行非敏感搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28838589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com