¿Cuál es la mejor manera de añadir un elemento a una matriz cuando el tamaño de la matriz no es siempre?

Con array_append esto es lo que puedo pensar:

UPDATE table SET array = array_append((SELECT array FROM table WHERE ...), 'element') WHERE ...;

Con array_length esto es lo que puedo pensar:

UPDATE table SET array[array_length((SELECT array FROM table WHERE ...), 1)+1] = element;
  • Así que desea anexar 'element' a table.array?
  • yeah.. append ‘elemento’ a un array en table.array column.
InformationsquelleAutor | 2012-06-13

1 Comentario

  1. 42

    La cosa más simple sería:

    update table
    set array = array_append(array, 'element')
    where ...

    o tal vez el uso de la || operador:

    update table
    set array = array || 'element'
    where ...

    Tanto de aquellos que son equivalentes a la más común set n = n + 11 para los números.

Dejar respuesta

Please enter your comment!
Please enter your name here