sql >> Database teknologi >  >> RDS >> Sqlserver

hvordan man kun opdaterer det første tegn i SQL Server

Da vi kender værdien fra 0 til 9999, kunne forespørgslen se ud som:

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

Hvis den kører rigtig ofte, skal du muligvis se på at tilføje passende indekser og så videre, men en hurtig test tyder på, at det ikke er så slemt.



  1. Fatal fejl opstod under datalæsning

  2. Gør et stykke tid / loop for at få 10 tilfældige resultater

  3. Oracle TO_DATE virker ikke

  4. Brug af MyRocks Storage Engine med MariaDB Server