如何在Postgresql中连接两个字段

发布于 2024-11-01 22:19:42 字数 382 浏览 1 评论 0原文

我有 2 个字段first_name 和last_name,但我需要将这些字段串联为全名。

我的代码在下面

User.where('(users.first_name ILIKE ?) OR (users.last_name ILIKE ?)', "%#{search}%", "%#{search}%")

,但我需要类似的东西

User.where('(users.fullname ILIKE ?) OR (users.first_name ILIKE ?) OR (users.last_name ILIKE ?)', "%#{search}%", "%#{search}%", "%#{search}%")

I have 2 fields first_name and last_name but i need concatenation of these fields as fullname.

My code is below

User.where('(users.first_name ILIKE ?) OR (users.last_name ILIKE ?)', "%#{search}%", "%#{search}%")

but i need something like

User.where('(users.fullname ILIKE ?) OR (users.first_name ILIKE ?) OR (users.last_name ILIKE ?)', "%#{search}%", "%#{search}%", "%#{search}%")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽容 2024-11-08 22:19:42

Postgres 中的串联就像 SQLite 中一样:||

(users.first_name || ' ' || users.last_name)

User.where('((users.first_name || ' ' || users.last_name) ILIKE ?) OR (users.first_name ILIKE ?) OR (users.last_name ILIKE ?)', "%#{search}%", "%#{search}%", "%#{search}%")

concatenation in Postgres like in SQLite: ||

(users.first_name || ' ' || users.last_name)

User.where('((users.first_name || ' ' || users.last_name) ILIKE ?) OR (users.first_name ILIKE ?) OR (users.last_name ILIKE ?)', "%#{search}%", "%#{search}%", "%#{search}%")
生死何惧 2024-11-08 22:19:42

将其更改为使用单引号,它将起作用:

(users.first_name || ' ' || users.last_name)

而不是:

(users.first_name || " " || users.last_name)

Change it to use single quotes and it will work:

(users.first_name || ' ' || users.last_name)

Instead of:

(users.first_name || " " || users.last_name)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文