gpt4 book ai didi

sql - 如何对 PostgreSQL 主 ID 列执行 LIKE 查询?

转载 作者:数据小太阳 更新时间:2023-10-29 07:40:55 25 4
gpt4 key购买 nike

如果我有一个数字(例如 88)并且我想在 Rails 中对主 ID 列执行 LIKE 查询以返回在 ID 末尾包含该数字的所有记录(即:88、288 等.),我该怎么做?下面是生成结果的代码,它在 SQLLite 中运行良好:

@item = Item.where("id like ?", "88").all

在 PostgreSQL 中,我遇到了这个错误:

PG::Error: ERROR:  operator does not exist: integer ~~ unknown

我该怎么做?我试过将数字转换为字符串,但这似乎也不起作用。

最佳答案

根据欧文的回答:
这是一个非常古老的问题,但万一有人需要它,有一个非常简单的答案,使用 ::text cast:

Item.where("(id::text LIKE ?)", "%#{numeric_variable}").all

这样,您就可以在字符串中的任意位置找到数字。
仅当您希望数字位于字符串末尾时,才使用左侧的 % 通配符。
如果您希望数字位于字符串中的任意位置,也可以在右侧使用 % 通配符。

关于sql - 如何对 PostgreSQL 主 ID 列执行 LIKE 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654657/

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