Vous pouvez utiliser regexp_matches()
à la place :
update data1
set full_text = (regexp_matches(full_text, 'I [0-9]{1,3}'))[1];
Comme aucun indicateur supplémentaire n'est passé, regexp_matches()
ne renvoie que la première correspondance - mais il renvoie un tableau, vous devez donc choisir le premier (et le seul) élément du résultat (c'est le [1]
partie)
C'est probablement une bonne idée de limiter la mise à jour aux seules lignes qui correspondraient à la regex en premier lieu :
update data1
set full_text = (regexp_matches(full_text, 'I [0-9]{1,3}'))[1]
where full_text ~ 'I [0-9]{1,3}'