sql >> Databasteknik >  >> RDS >> Sqlserver

hur man uppdaterar endast det första tecknet i SQL Server

Med tanke på att vi vet att värdet varierar från 0 till 9999, kan frågan se ut så här:

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

Om den körs riktigt ofta kan du behöva titta på att lägga till lämpliga index och så vidare, men ett snabbt test tyder på att det inte är så illa.



  1. url-textkomprimering (inte förkortning) och lagring i mysql

  2. Anslut mysql till java med Eclipse

  3. Konvertera 'datetime2' till 'date' i SQL Server (T-SQL-exempel)

  4. Hur man maskerar Cassandra med IRI FieldShield