Bonjour,
Je cherche à faire une requête dans laquelle je vérifie la présence d'un caractère vide ou d'un marqueur de début de ligne.
Je m'explique : j'ai une table avec des noms de communes dont les "saint-" et "sainte-" sont rentrés sous la forme "st-" et "ste-".
Je voudrais les modifier pour que le nom dans la base soit bien de la forme "saint".
Pour cela, j'utilise la requête suivante :
Le problème, c'est que cette requête modifie aussi les noms du genre "st-cast-le-guildo" ou "st-priest-la-feuille" qui deviennent "saint-casaint-le-guildo" et "saint-priesaint-la-feuille".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 UPDATE cit_poste SET cit_poste.commune = REPLACE(cit_poste.commune, 'ST-', 'SAINT-') WHERE LEFT(cit_poste.commune, 3) = 'ST-'; UPDATE cit_poste SET cit_poste.commune = REPLACE(cit_poste.commune, 'STE-', 'SAINTE-') WHERE LEFT(cit_poste.commune, 4) = 'STE-';
Je voudrais donc soit pouvoir détecter la présence d'un caractère vide avant le "st-", ce qui donnerait une requête du genre :
Soit utiliser un genre de replace qui remplacerait uniquement la première occurrence de "st-" dans la chaîne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE cit_poste SET cit_poste.commune = REPLACE(cit_poste.commune, '[caractère vide]ST-', '[caractère vide]SAINT-') WHERE LEFT(cit_poste.commune, 3) = 'ST-';
Savez-vous comment je pourrais m'y prendre ? J'ai cherché sur différents sites sans trouver de solution convenable.
Merci d'avance,
Aenur56
Partager