Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak zaktualizować tylko pierwszy znak w SQL Server

Znając zakres wartości od 0 do 9999, zapytanie może wyglądać tak:

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

Jeśli jest uruchamiany naprawdę często, może być konieczne dodanie odpowiednich indeksów i tak dalej, ale szybki test sugeruje, że nie jest tak źle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak stworzyć i wywołać funkcję skalarną w serwerze sql 2008

  2. Wprowadzenie do bezpośredniego miejsca do magazynowania dla SQL Server

  3. Najbardziej wydajna metoda wykrywania zmian kolumn w MS SQL Server

  4. Obrazy w bazie danych a system plików

  5. Aktualizacja 4 milionów rekordów na serwerze SQL przy użyciu listy identyfikatorów rekordów jako danych wejściowych