Jedyny sposób, w jaki jestem świadomy, to rodzaj „kludge na użycie”.
Na przykład mam dane, które zawierają tablicę numerów właściwości (nazwa atrybutu propnum_array
, dtype varchar[]
), i czasami chcę zidentyfikować dane, w których tablica jest pusta.
Testowanie propnum_array = {}
lub propnum_array is null
lub propnum[0]=''
(lub jakiekolwiek inne odmiany tego typu tematu) sprawia QGIS knebel, jednak mogę zrobić regexp_match( propnum_array,'\\d')
lub propnum_array ilike '{""}'
czy propnum_array = '{""}'
i partycji dane do materiału, który ma niepusty propnum_array
i rzeczy, że nie.
Oznacza to, że jeśli tablice mają strukturę (np. Określone wartości w określonych elementach tablicy), możesz je wyszukać: jeśli chcesz wszystkich wartości, w których drugim elementem w tablicy 3-elementowej jest „Y”, to będziesz potrzebować czegoś takiego regexp_match( propnum_array,'[,]*\'Y\'\[,]*')
(całkiem pewne, że musisz uciec od przecinków i pojedynczych cudzysłowów wewnątrz ciągu dopasowania, ale jest to przypadek użycia dla kogoś innego, o co należy się martwić).
Fakt, że propnum_array ilike '{""}'
działa, wydaje się wskazywać, że QGIS traktuje tablice jak tekst. Ewentualnie może rzutować je na tekst w locie, jeśli jest to wymagane - ale wtedy nie ma sensu, aby typy tablic były nieudokumentowane (AFAIK). Nie znalazłem żadnych dokumentów na temat obsługi tablic, a na liście mailowej osgeo-qgis są pytania jeszcze od stycznia 2015.
Wydaje mi się, że główną wskazówką jest to, że w edytorze wyrażeń nie ma żadnych funkcji tablicowych, chociaż rozumiem, że wtyczka „Data Driven Input Mask” obsługuje tablicę od wersji 1.0.0 (luty 2015).