我有下面的桌子: 通配符列值包含表单的通配符:stack溢流*. 这应该与“stack溢出”开始的任何单词匹配. 我如何定位包含匹配的野卡的记录? 例如给出“stack溢流”.com“我想返回所有通配符匹配它. 类似 将你的通配符存储为%而不是*和使用: 或者如果你必须使用*相同,但用%替换*: 没有内置的反向匹配符,但你可以把参数的位置换成反向匹配: 现在你不能用这样的索引来使用索引,但这只是性能的障碍,它不会阻止你运行查询和得到答案.

2022-10-11 18:35:42标签databasepostgresql
提问

我有下面的桌子: 通配符列值包含表单的通配符:stack溢流*。 这应该与“stack溢出”开始的任何单词匹配。 我如何定位包含匹配的野卡的记录? 例如给出“stack溢流”。com“我想返回所有通配符匹配它。 类似 将你的通配符存储为%而不是*和使用: 或者如果你必须使用*相同,但用%替换*: 没有内置的反向匹配符,但你可以把参数的位置换成反向匹配: 现在你不能用这样的索引来使用索引,但这只是性能的障碍,它不会阻止你运行查询和得到答案。

Table "public.items"
   Column    |           Type           | Collation | Nullable |                Default                
-------------+--------------------------+-----------+----------+---------------------------------------
 id          | integer                  |           | not null | nextval('items_id_seq'::regclass)
 wildcard    | character varying(255)   |           | not null | 

回答

select *
from items
where 'stackoverflow.com' like wildcard

select *
from items
where 'stackoverflow.com' like replace(wildcard, `*`, `%`)
回答

select * from items where 'stackoverflow.com' LIKE items.wildcard;

▼版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说cuoshuo.com——程序员的报错记录

部分内容根据CC版权协议转载,如果您希望取消转载请发送邮件到cuoshuo8@163.com

辽ICP备19011660号-5