Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да актуализирате само първия знак в SQL Server

Като се има предвид, че знаем, че стойността варира от 0 до 9999, заявката може да изглежда така:

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

Ако се изпълнява наистина често, може да се наложи да добавите подходящи индекси и т.н., но бърз тест показва, че не е много лошо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Наблюдавайте бази данни и екземпляри чрез Монитор на активността | Отстраняване на проблеми с производителността на SQL Server -2

  2. Съберете данните за уикенда различно от делничните дни

  3. Репликацията на SQL Server 2008 е неуспешна с:процесът не може да изпълни „sp_replcmds“

  4. Много сложен проблем със SQL заявка

  5. T-SQL - ИЗБЕРЕТЕ по най-близката дата и ГРУПИРАНЕ ПО ID