Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

comment mettre à jour uniquement le premier caractère dans SQL Server

É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.