69 votes

Comment remplacer des valeurs spécifiques dans une colonne de base de données oracle?

Je cherche à remplacer des valeurs dans une colonne particulière. Par exemple, les valeurs de colonne suivantes

 column name
----------
Test1
Test2
Test3
Test12

devrait être (en remplaçant est1 par rest1 )

 column name
----------
Trest1
Test2
Test3
Trest12

193voto

OMG Ponies Points 144785

Utilisez REMPLACER :

 SELECT REPLACE(t.column, 'est1', 'rest1')
  FROM MY_TABLE t

Si vous souhaitez mettre à jour les valeurs du tableau, utilisez:

 UPDATE MY_TABLE t
   SET column = REPLACE(t.column, 'est1', 'rest1')

21voto

Babatunde Adeyemi Points 1124

Si vous devez mettre à jour la valeur dans une table particulière:

 UPDATE TABLE-NAME SET COLUMN-NAME = REPLACE(TABLE-NAME.COLUMN-NAME, 'STRING-TO-REPLACE', 'REPLACEMENT-STRING');

   TABLE-NAME         - The name of the table being updated
  COLUMN-NAME        - The name of the column being updated
  STRING-TO-REPLACE  - The value to replace
  REPLACEMENT-STRING - The replacement

0voto

Praveen Mishra Points 11

Dans Oracle, il existe le concept de nom de schéma, alors essayez d'utiliser ceci

 update schemname.tablename t
set t.columnname = replace(t.columnname, t.oldvalue, t.newvalue);

-4voto

J'utilise la version 4.0.2.15 avec Build 15.21

Pour moi, j'avais besoin de ceci:

 UPDATE table_name SET column_name = REPLACE(column_name,"search str","replace str");

Mettre t.column_name dans le premier argument de replace n'a pas fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X