SQLite, which is the underneath database engine for GeoPackage, doesn't support ILIKE. The SQLite LIKE operator is actually case insensitive for ASCII characters. See paragraph 5 "The LIKE, GLOB, REGEXP, and MATCH operators" of https://www.sqlite.org/lang_expr.html

Le 28/07/2021 à 21:43, C Hamilton a écrit :
I think I found a bug and was wondering if someone could verify this. I am on Windows 10 and tried this with both QGIS 3.16.9 and 3.20.1.

I tried the following filter expression on the Natural Earth data set ne_10m_populated_places (https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip <https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip>). Once loaded into QGIS right mouse click on the layer and select "Properties...", then click on the "Source" tab, click on "Query Builder" and then use this query

"NAME" ILIKE '%Bom%'

This works fine. If I export ne_10m_populated_places as a GeoPackage and try the same thing with the GeoPackage version of the layer, I get the error:

"An error occurred when executing the query, please check the expression syntax."

If I use LIKE instead of ILIKE then it works. It is like ILIKE was not implemented for GeoPackage. Can anyone verify this? I think you can use any vector layer for this test with one that is a shapefile and the other a GeoPackage.

Thanks,

Calvin


_______________________________________________
QGIS-Developer mailing list
qgis-develo...@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

--
http://www.spatialys.com
My software is free, but my time generally not.

_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to