QGIS查询构建器实现多字段记录筛选的正确语法是什么?
QGIS多条件图层过滤器设置方案
你写的语句本身语法是正确的,排查方向如下:
- 字段名匹配校验:QGIS过滤器对字段名大小写完全敏感,先打开图层属性表确认字段名是否和你写的完全一致,比如是否存在
kingdom、SpeciesName这类拼写、大小写差异,字段名必须和属性表完全匹配才能生效 - 字段值匹配校验:确认属性表中对应字段的存储值是否完全符合
'Animalia'、'Eagle'的写法,包括大小写、是否有前后隐形空格,=运算符是严格完全匹配,只要有一个字符差异就不会返回结果
兼容调试写法
如果找不到具体差异,可以先用宽松匹配语句测试是否能返回结果:"KINGDOM" ILIKE '%Animalia%' AND "SPECIES_NAME" ILIKE '%Eagle%'
其中:
ILIKE运算符可以忽略大小写差异%是通配符,可匹配值前后的多余隐形字符
如果用这个语句能筛选出预期结果,就说明原数据的字段值存在大小写或者多余空格问题,你可以根据实际存储值调整原始语句即可
操作确认步骤
- 右键点击目标图层,选择「过滤」选项
- 在弹出的「要素过滤器」窗口的表达式输入框中填入筛选语句
- 点击「测试」按钮可直接查看匹配到的要素数量,确认符合预期后点击「确定」即可完成过滤
内容的提问来源于stack exchange,提问作者sharky94_hobart
相关产品推荐
相关产品推荐

