Función array()

La función array() crea una matriz de un determinado tipo.

Sintaxis

La función array() tiene la sintaxis siguiente:
array = array(int type);
El valor type es un código de entero que especifica el tipo de matriz a crear, como se muestra en la tabla siguiente:
Tabla 1. Tipos de matriz
Código Tipo Descripción
1 int1 8 bits.
2 int2 16 bits.
3 int4 32 bits.
4 int8 64 bits.
5 fecha Intervalo de fechas del 1 de enero de 0001 al 31 de diciembre de 9999. El uso de disco es de 4 bytes.
6 Hora Horas, minutos y segundos hasta seis posiciones decimales. El rango va de 00:00:00.000000 a 23:59:59.999999. El uso de disco es de 8 bytes.
7 indicación de fecha y hora Una parte de fecha y una parte de hora, con segundos almacenados en 6 posiciones decimales. El rango va del 1 de enero de 0001 00:00:00.000000 al 31 de diciembre de 9999 23:59:59.999999. El uso de disco es de 8 bytes.
8 varchar Longitud variable, con una longitud máxima de 64.000 caracteres. Los datos se almacenan según se introducen, y no se rellenan con espacios en blanco. Para las cadenas varchar de longitud n, el uso del disco no es superior a n + 2 bytes.
9 nvarchar Datos Unicode de longitud variable con una longitud máxima de 16.000 caracteres. Si se utiliza la codificación UTF-8, cada punto de código Unicode requiere de 1 a 4 bytes de almacenamiento. Por lo tanto, una serie de 10 caracteres requiere 10 bytes de almacenamiento si se trata de ASCII, hasta 20 bytes si es Latin o 40 bytes como máximo si es Kanji puro (aunque normalmente tiene 30 bytes).
10 flotante Número de coma flotante con una precisión de 1 a 15. Una precisión inferior a 6 utiliza 4 bytes. La precisión de 7 a 15 utiliza 8 bytes.
5 doble Valor equivalente a float con precisión 15, utilizando 8 bytes.
19 timetz Horas, minutos, segundos hasta 6 posiciones decimales y diferencia de huso horario respecto a GMT.

Devuelve

La función crea el tipo de matriz especificado.

Ejemplo

Consideremos el ejemplo siguiente:
create table array_t(col1 int,col2 varchar(100));
CREATE TABLE
La siguiente consulta INSERT crea una matriz de tipo int2 y la almacena en la tabla:
insert into array_t values(1,array(2));
INSERT 0 1
La consulta siguiente muestra una matriz que se ha creado y almacenado en la tabla array_t:
select * from array_t;
 col1 | col2 
------+------
    1 | ARR
(1 row)