首页 > 解决方案 > Postgresql 检查一个属性是否是另一个属性的子字符串,无论大小写

问题描述

如果登录名是名称的子字符串(不区分大小写),我想显示属性登录名、姓名、性别、地址和加入表 Player 例如,如果登录名是“thom”并且名称是“Thomas”,则查询应该如果登录名是“qw”并且名称是“莎拉”,则返回这个元组,那么查询不应该返回这个元组

下面的查询是我到目前为止所拥有的,我尝试过使用 LIKE 和 SIMILAR 以及子字符串,但我无法弄清楚

select login, name, gender, address, joined
from Player
where login ~* name

标签: sqlstringpostgresqlwhere-clausesql-like

解决方案


如果登录名是“thom”并且名称是“Thomas”,则查询应该返回这个元组

您似乎希望模式匹配相反:

where name ~* login

你也可以这样表述ilike

where name ilike '%' || login || '%'

推荐阅读