Fernando Brombatti escreveu:
> O TO_NUMBER me pareceu mais "transparente".
>
O problema com a to_number() é o tamanho da string com 9s que você é
obrigado a colocar: ela precisa ter o mesmo tamanho da string original
caso contrário pode não considerar todos os algarismos existentes.
É contornável mas a expressão fica mais complexa:
bdteste=# SELECT to_number('AB345CD234','99999');
to_number
-----------
345
(1 registro)
bdteste=# SELECT to_number('AB345CD234','99999999');
to_number
-----------
3452
(1 registro)
bdteste=# SELECT to_number('AB345CD234','9999999999');
to_number
-----------
345234
(1 registro)
bdteste=# \set foo '\'AB3,45CD#xz234\''
bdteste=# SELECT to_number(:foo,repeat('9', length(:foo)));
to_number
-----------
345234
(1 registro)
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral