|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Bonjour,
J'ai pour projet de refaire une restructuration des titres de sujets sur mon forum pour le chapitre des présentations. Avec pas moins de 1600 sujets, je souhaiterais un peu d'aide et voir si le SQL pourrait m'aider pour réaliser ce que je souhaite faire. Actuellement tous nos titres de sujets sont formulés de la sorte : [pseudo] Département Exemple : [Big moustaches] Ain Je souhaiterais qu'il deviennent comme ceci Département (pseudo) Exemple : Ain (Big moustaches) Modifier les [ par ( n'est pas réellement un problème. Code :
Étant débutant en SQL, est-il possible à première vue de réaliser ceci par requête SQL ? En vous remerciant d'avance |
||
|
|
00
|
|
|
#2 | ||
|
Membre éclairé
![]() Développeur informatique Inscription : mai 2004 Messages : 394 ![]() |
J'espère que cela t'aidera :
Code :
Ain [Big moustaches] Il ne te reste qu'a intégrer cette expression dans ta requête en remplaçant @chaine par ton champ A bientôt juvamine
__________________
http://chat.developpez.com/ -- Salon Base de Données -- |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Merci pour cet exemple de code, je l'ai appliqué mais il me retourne une erreur de syntaxe. J'ai pourtant bien remplacé la valeur @chaine par le nom de mon champ "title".
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Quel est votre SGBD ?
Pouvez vous poster la requete complete non fonctionnelle ?
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#5 | ||
|
Membre éclairé
![]() |
si tu es sous Oracle, voici un sql
Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() |
et si tu es sous MsAcces voici le code
Code :
SELECT REPLACE(REPLACE( mid(Champ1, instr(Champ1,']')+1)+" "+mid(Champ1, 1, instr(Champ1,']')),'[','('),']',')') FROM table1 |
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Mon SGBD est MYSQL 5.1.41.
Code :
D'autre part n'y a t'il pas un moyen de changer directement [ par ( depuis cette requête, car la méthode que j'utilise remplacera tous les caractères... hors je souhaite ne le faire que dans un forum spécifique correspondant à la localisation suivante Code :
SELECT `title` FROM `ibf_topics` WHERE forum_id = '50' |
||
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
En combinant les réponses déja données, cela devrait vous donner quelque chose comme ca
Code :
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Merci, j’apprécie beaucoup votre aide.
En testant ta requête Yanika_bzh, j'obtiens ce message d'erreur #1305 - FUNCTION teamr8.CHARINDEX does not exist Je ne sais pas pourquoi il rajoute le nom de ma base 'teamr8" devant la fonction CHARINDEX |
|
|
00
|
|
|
#10 | ||
|
Membre éclairé
![]() Développeur informatique Inscription : mai 2004 Messages : 394 ![]() |
Dans Mysql C'est LOCATE a priori
(mon expression vient de SQLServer) Et Len devient LENGTH Code :
juvamine
__________________
http://chat.developpez.com/ -- Salon Base de Données -- |
||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Merci juvamine, cette fois la requête est passée mais sans faire une seule modification, les titres ont toujours la même structure.
![]() Curieux car la requête semblait afficher le bon nombre de sujet à modifier (environ 1630) Affichage des enregistrements 0 - 29 (1 632 total, Traitement en 0.0009 sec.) |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Cette instruction est un select, pour faire une modif , utiliser UPDATE
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#13 | ||
|
Membre éclairé
![]() Développeur informatique Inscription : mai 2004 Messages : 394 ![]() |
Code :
le select sur lequel nous travaillions jusqu'à maintenant, te permets de visualiser le résultat sans pourrir ta base pour autant ^^ Si ça te convient on passe aux choses sérieuses en transformant l'instruction en UPDATE A+ juvamine
__________________
http://chat.developpez.com/ -- Salon Base de Données -- |
||
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Il semble qu'il y ait encore un problème car tous les titres sont transformés en 0.
|
|
|
00
|
|
|
#15 | ||
|
Membre éclairé
![]() Développeur informatique Inscription : mai 2004 Messages : 394 ![]() |
Faut que tu essaies de décortiquer...
Code :
A+ juvamine
__________________
http://chat.developpez.com/ -- Salon Base de Données -- |
||
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : mai 2010 Messages : 37 ![]() |
Excuse moi de ma réponse tardive.
Le code fonctionne parfaitement, je vous remercie tous pour votre aide. + |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com