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: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)