Salut est-il un moyen de «remplacer» toutes les occurrences de 10 occurrences ou plus de _ (soulignement) dans une table mysql avec quelque chose d'autre.Mysql remplacer l'expression régulière
background J'ai hérité d'une base de données de contenu écrite pour le web.
Malheureusement, l'auteur de l'original a utilisé ________________
au lieu de <hr />
pour les règles horizontales.
Il s'agit d'une installation wordpress donc le contenu est dans une table appelée wp_posts
.
Je suis capable de trouver les messages impliqués dans la requête suivante.
SELECT *
FROM `wp_posts`
WHERE `post_content` LIKE '%\_\_\_\_\_\_\_\_\_\_%'
Mise à jour:
je peux trouver les postes qui correspondent à l'aide de ce qui suit également
SELECT `post_content`
REGEXP '_{10,}'
FROM `wp_posts`
WHERE `post_content` LIKE '%\_\_\_\_\_\_\_\_\_\_%'
LIMIT 0 , 30
Cependant qui retourne seulement 1 s'il y a un match pas 0 s'il n'y a pas .
Est-il possible de renvoyer la sous-chaîne correspondante? Existe-t-il un moyen de rendre l'expression gourmande?
@Dominic Rodger Quel était le problème avec le poste que vous l'avez édité? Je veux juste savoir ce que j'ai fait de mal pour ne pas le refaire. – Wes
rien de trop grave (un couple de fautes de frappe, et vous avez eu besoin de backticks autour de '
' - il ne s'affiche pas dans votre message original). Les gens autour d'ici ont tendance à éditer les choses pour les ranger - cela ne reflète pas nécessairement mal sur vous comme la question demandeur/répondeur - ce site est édité en collaboration (voir la FAQ: http://stackoverflow.com/faq) –