小编典典

Postgresql SELECT 如果字符串包含

all

所以我在我的 Postgresql 中有一个:

TAG_TABLE
==========================
id            tag_name       
--------------------------
1             aaa
2             bbb
3             ccc

为了简化我的问题,当字符串“aaaaaaaa”包含“tag_name”时,我想做的是从 TAG_TABLE
中选择“id”。所以理想情况下,它应该只返回“1”,这是标签名称“aaa”的 ID

到目前为止,这就是我正在做的事情:

SELECT id FROM TAG_TABLE WHERE 'aaaaaaaaaaa' LIKE '%tag_name%'

但显然,这不起作用,因为 postgres 认为 ‘%tag_name%’ 表示包含子字符串 ‘tag_name’ 而不是该列下的实际数据值的模式。

如何将 tag_name 传递给模式?


阅读 128

收藏
2022-08-02

共1个答案

小编典典

您应该tag_name在引号之外使用;然后它被解释为记录的一个字段。使用'||'文字百分号连接:

SELECT id FROM TAG_TABLE WHERE 'aaaaaaaa' LIKE '%' || tag_name || '%';
2022-08-02