je base de données où une colonne contient des nombres. 3 exemples de valeurs:regexp_replace dans la base de données pour inverser une chaîne numérique et insérer un point entre les chiffres
1111111555 2222222555 3333333555
dont j'ai besoin de retourner et de mettre un point entre chaque chiffre. c'est-à-dire que le résultat pour chacun des exemples ci-dessus serait:
5.5.5.1.1.1.1.1.1.1 5.5.5.2.2.2.2.2.2.2 5.5.5.3.3.3.3.3.3.3
respectivement.
J'ai besoin alors de mettre à jour une autre colonne du résultat. Comment puis-je faire un tel remplacement?
Un test en ligne regexp me donne le résultat que j'ai besoin avec ceci:
(\S)(\S)(\S)(\S)(\S)(\S)(\S)(\S)(\S)(\S)/g$10.$9.$8.$7.$6.$5.$4.$3.$2.$1
mais je ne peux pas l'obtenir pour mettre à jour la base de données avec succès. Des idées comment le faire fonctionner?
Je viens de vérifier: PostgreSQL ne permet qu'un maximum de 9 groupes de capture, donc vous ne pouvez pas utiliser une regex pour cela, semble-t-il. –
Vous avez étiqueté votre question à la fois comme mysql et postgresql. Veuillez indiquer quelle base de données vous utilisez réellement ou si vous avez besoin d'une solution pour les deux. – mikej
J'utiliserai n'importe quelle base de données qui me donnera le résultat. Il peut être mysql postrgesql ou oracle. –