gpt4 book ai didi

Postgresql SELECT 如果字符串包含

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

所以我的 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 传递给模式??

最佳答案

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

SELECT id FROM TAG_TABLE WHERE 'aaaaaaaa' LIKE '%' || tag_name || '%';

请记住 LIKE 区分大小写。如果您需要不区分大小写的比较,您可以这样做:

SELECT id FROM TAG_TABLE WHERE 'aaaaaaaa' LIKE '%' || LOWER(tag_name) || '%';

关于Postgresql SELECT 如果字符串包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23320945/

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