Em 5 de dezembro de 2012 16:15, Rubens José Rodrigues <
[email protected]> escreveu:
> Olá pessoal!
>
> Tenho um atributo do tipo varchar(4) em que pode conter valores do tipo
> '12','23','34','24','1234' etc. Tudo tem um significado, e, nesse caso
> significam plano de visitas semanais.
>
> Minha necessidade:
>
> a) Transformar essa cadeia de caracteres em vetor de inteiros para me
> facilitar nas consultas, exemplo : '12' = [1,2].
>
veja se isso te atende
select regexp_split_to_array('123', E'\\s*')::integer[]
vc terá que substituir a string fixa pela sua coluna
b) Como saber se 1 está presente em [1,2,3,4]
>
Você pode utilizar os operadores ANY e ALL para verificar a existência de
um elemento no array
ex:
select * from
(select regexp_split_to_array('123', E'\\s*')::integer[] as v) as ret
where 1 = any (ret.v)
[]s
Edson Souza
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral