Boa tarde pessoal. Estou apanhando um pouco para dar um Replace em uma data dentro de um campo do tipo date[]
Exemplo: digamos que meu campo occurrencedates date[] tenha as três datas: [2018-02-01,2018-02-02,2018-02-03] Quero por exemplo apagar o que for 2018-02-03 em todos os registros em que a mesma for encontrada. Para encontrar o registro estou fazendo um cast para string e usando o ilike. No select eu consigo retornar já sem a data normalmente. O problema está na hora de dar o Update, não estou conseguindo converter corretamente para que o postgre entenda que é um array de data. Para fazer um select: select occurrencedates as com_a_data, string_to_array(replace(array_to_string(occurrencedates, ','), '2018-02-03', ''), ',') sem_a_data FROM minha_tabela where (occurrencedates::varchar ilike '%2018-02-03%') com_a_data | sem_a_data "{2018-02-01,2018-02-02,2018-02-03}" | "{2018-02-01,2018-02-02,""}" Ou seja, o resultado sem_a_data já é um array. Daí eu tento fazer: update minha_minha set occurrencedates = string_to_array(replace(array_to_string(occurrencedates, ','), '2018-02-03', ''), ',') where (occurrencedates::varchar ilike '%2018-02-03%') E dá o seguinte erro: column "occurrencedates" is of type date[] but expression is of type text[] Ou seja, tenho que converter de alguma maneira o text[] para date[] Se alguém puder ajudar agradeço desde já. Abraços -- *Edelson Regis de Lima*
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral