Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/08/2011, 09h44   #1
Invité de passage
 
Inscription : août 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 3
Points : 1
Points : 1
Par défaut Utilisation de la fonction REPLACE dans un UPDATE

Bonjour,

Je possède une table ORACLE qui contient dans un champ des noms de fichiers sous la forme : name.ext

Je souhaite mettre à jour ce champ pour n'avoir plus que le name pour tout ou partie des extensions : il "suffit" de retirer l'extension choisi.
name.ext -> name


voici ce que j'ai essayé depuis sqlplus:
Code :
1
2
3
4
 
UPDATE mytable 
SET FILENAME = REPLACE(‘.ext’,’’, FILENAME)
WHERE SUBSTR(FILENAME, LENGTH(FILENAME)-4) = ‘.ext’ ;
resultat : 0 rows updated


Est ce la bonne méthode, et si oui, d’où vient l'erreur ?

Merci
vincent_cda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 10h48   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 810
Points : 5 810
Replace
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 11h46   #3
Invité de passage
 
Inscription : août 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 3
Points : 1
Points : 1
Merci de ta réponse.

J'ai corrigé l'ordre des paramètres de la fonction replace.
J'ai testé avec ceci
Code :
1
2
 
UPDATE mytable SET filename = REPLACE(filename,'.drw','');
et


Code :
1
2
 
UPDATE mytable SET filename = REPLACE(filename,'.drw','');
dans les deux cas, sqlplus me dit : 23368 rows updated

mais quand je consulte le contenu de filename, l'extension est toujours présente
vincent_cda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h22   #4
Membre du Club
 
nancy carina
Inscription : décembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : nancy carina

Informations forums :
Inscription : décembre 2010
Messages : 34
Points : 45
Points : 45
tu n'a qu'a faire un simple COMMIT après les modifications
nancy_carina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h26   #5
Invité de passage
 
Inscription : août 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 3
Points : 1
Points : 1
Merci de ta reponse carina

En fait, pas besoin.

Mon erreur est toute simple en fait : 'ext' est different de 'EXT'
Donc forcement .....

Et donc, ca fonctionne bien : c'est l'avantage/inconvenient de travailler sur plusisuers systemes en meme temps.
vincent_cda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h29   #6
Membre du Club
 
nancy carina
Inscription : décembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : nancy carina

Informations forums :
Inscription : décembre 2010
Messages : 34
Points : 45
Points : 45
tant mieux bon courage alors
nancy_carina est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h15.


 
 
 
 
Partenaires

Hébergement Web