sql >> Database >  >> RDS >> Sqlserver

hoe alleen het eerste teken in SQL Server bij te werken

Aangezien we weten dat de waarde varieert van 0 tot 9999, zou de zoekopdracht er als volgt kunnen uitzien:

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

Als het heel vaak wordt uitgevoerd, moet je misschien kijken naar het toevoegen van geschikte indexen enzovoort, maar een snelle test suggereert dat het niet al te slecht is.



  1. Kan MySQL meerdere tekens vervangen?

  2. 8 WP-CLI-opdrachten om uw site op te schonen en te optimaliseren

  3. Probleem met gelijktijdige transactie met SQL Server

  4. Best practices voor PostgreSQL-beveiliging