Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So aktualisieren Sie nur das erste Zeichen in SQL Server

Da wir die Wertebereiche von 0 bis 9999 kennen, könnte die Abfrage wie folgt aussehen:

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

Wenn es wirklich oft ausgeführt wird, müssen Sie möglicherweise geeignete Indizes hinzufügen usw., aber ein schneller Test zeigt, dass es nicht so schlimm ist.