postgreSQL 在"like"中使用连接的问题



我正在尝试在"如";,像这样的东西:

select * 
from message c  
where c.content like (select concat('%', value, '%') 
from objects o 
where o.orderid = '70008090102484');

而且没有结果。当我复制粘贴select的输出而不是它时,它会返回一行,所以我尝试过:

select * 
from message c  
where c.content like concat('%', '123', '%'); - no results
select * 
from message c  
where c.content like '%123%';* - 1 result

我尝试过"%"||'123'||'%',结果相同。有人知道为什么会发生这种事吗?

编辑:";内容";字段的类型为";字节对于varchar,它运行良好,不幸的是,我无法更改此字段类型

您的第一个查询可以使用结构相似的exists来表达:

SELECT *
FROM message c
WHERE EXISTS (
SELECT 1
FROM objects o
WHERE c.content LIKE CONCAT('%', o.value, '%') AND
o.orderid = '70008090102484'
);

相关内容

  • 没有找到相关文章

最新更新