Étant donné que nous savons que la valeur est comprise entre 0 et 9999, la requête pourrait ressembler à :
update MyTable
set No1 = CASE WHEN No1 between 10 and 19 THEN No1 - 10
WHEN No1 between 100 and 199 THEN No1 - 100
WHEN No1 between 1000 and 1999 THEN No1 - 1000 END
where No1 between 10 and 19
or No1 between 100 and 199
or No1 between 1000 and 1999
S'il s'exécute très souvent, vous devrez peut-être envisager d'ajouter des index appropriés, etc., mais un test rapide suggère que ce n'est pas si mal.