La única manera de la que soy consciente es una especie de 'kludge por uso'.
Por ejemplo, tengo datos que incluyen una matriz de números de propiedad (nombre de atributo propnum_array
, dtype varchar[]
), y a veces quiero identificar cualquier información donde la matriz esté vacía.
Las pruebas para detectar propnum_array = {}
o propnum_array is null
o propnum[0]=''
(o cualquier otra variación de ese tipo de tema) hace que QGIS mordaza, sin embargo yo puedo hacer regexp_match( propnum_array,'\\d')
o propnum_array ilike '{""}'
o propnum_array = '{""}'
y partición de los datos en cosas que no vacío propnum_array
y cosas que no lo ha hecho.
Lo que esto significa es que si las matrices tienen estructura (p. Ej., Valores específicos en elementos específicos de la matriz), puede buscarlas: si desea todos los valores donde el segundo elemento en una matriz de 3 elementos es 'Y', entonces querrá algo como regexp_match( propnum_array,'[,]*\'Y\'\[,]*')
(bastante seguro de que tiene que escapar de las comas y comillas simples internas de la cadena de coincidencia, pero ese es un caso de uso por el que alguien más debe preocuparse).
El hecho de que propnum_array ilike '{""}'
funcione parece indicar que QGIS trata las matrices como si fueran texto. Alternativamente, podría convertirlos en texto sobre la marcha, si es necesario, pero entonces no tendría sentido que los tipos de matriz no estén documentados (AFAIK). No he podido encontrar ningún documento sobre el manejo de matrices, y hay preguntas en la lista de correo osgeo-qgis en enero de 2015.
Supongo que la pista principal es que no hay funciones de matriz en el editor de expresiones, aunque entiendo que el complemento 'Data Driven Input Mask' ha tenido manejo de matriz desde v1.0.0 (febrero de 2015).