Je le convertis à l’aide de la sous-chaîne et tout fonctionne bien, mais je dois en convertir une bonne partie et cela prendra du temps.
On m'a dit que le regex est beaucoup plus efficace et plus rapide.
Un conseil sur regex?
convertir chaîne1 en chaîne2 en utilisant regex
string1 = "96457fa012456c41bf9200011da2d8fa"
string2="96457fa012456c41bf92 0 11da2d8fa"
Merci d'avance
Réponses:
1 pour la réponse № 1Cela fonctionne dans Oracle - le remplacement de l'implémentation regex d'Oracle par SQL Server devrait être simple:
select regexp_replace(
"96457fa012456c41bf9200011da2d8fa",
"(..)",
"\1")
from dual
Explication:
- nous voulons faire correspondre n'importe quelle paire de caractères => ".."
- nous voulons "stocker" les caractères que nous venons de faire correspondre, donc les inclure dans un groupe de capture => "(..)"
- dans notre chaîne de remplacement, nous voulons obtenir le contenu de notre groupe correspondant => "1"
- et nous voulons ajouter une barre oblique inverse avant chaque groupe => "\ 1"
- dual est juste une table factice dans Oracle