quarta-feira, 22 de abril de 2015

Como consultar dados dentro de um array no postgresql


dias_com_foco é um array e quero receber todos os eventos dentro de um intervalo de tempo, então preciso saber se para cada registro o valor inicial e final do array de dias está dentro do período do meu interesse.

SELECT evento_id, data, dias_com_foco, duracao, numero_dias_com_foco, numero_focos, parent, geometria
  FROM eventos_requeima
  where dias_com_foco[1] >= '20050101' and dias_com_foco[array_length(dias_com_foco,1)] <= '20051231'
  limit 9;



dias_com_foco[1]= retorna o valor do primeiro elemento do array;

array_length(dias_com_foco,1) = retorna a quantidade de elementos do array, portanto vou conseguir saber qual o último dia registrado.