Je dois supprimer '.0' à la fin de la chaîne, mais j'ai quelques problèmes.Postgres: regexp_replace & trim
Dans PG 8.4 J'ai cette expression et son a été travaillé très bien.
select regexp_replace('10.1.2.3.0', '(\\\\.0)+$', '');
et le résultat était
'10 .1.2.3' - bon résultat.
Mais après PG a été mis à jour 9.x résultat version est
'10 .1.2.3.0' - la chaîne d'entrée et son ok pas.
Aussi j'ai essayé d'utiliser la fonction garniture
il ce cas, il est ok
select trim('.0' from '10.1.2.3.0');
résultatest '10 .1.2.3' - ok
mais quand je avoir 10 à la fin du code, j'ai un résultat inattendu
select trim('.0' from '10.1.2.3.10.0');
ou
select trim('.0' from '10.1.2.3.10');
résultatest 10.1.2.3.1 - 0 est rognée de 10
Quelqu'un peut-il me suggérer une solution et d'expliquer ce qui ne va pas avec garniture fonction et ce qui a été changé en regexp_replace dans les dernières versions?
Merci beaucoup! :) Le problème est avec le caractère d'échappement backslash et son comportement a été changé entre les versions. – Dumitru