2009-10-09 8 views
0

Ma table ressemble à ceci:Mettre à jour plusieurs lignes dans SQL Server

c1 c2 c3 
a 1 2000 
a 2 2001 
a 3 3000 
a 4 3001 
a 5 3002 

Étape 1: supprimer des lignes où c3 = 2000, 2001

Delete table where c3 like '2___' 

Étape 2: changement 3000-2000, 3001 2001, 3002 à 2002, et ainsi de suite

Je suis coincé ici. J'apprécierais n'importe quels indicateurs ou exemples.

Répondre

2
  1. DELETE tablename WHERE c3 in (2000, 2001)

    DELETE tablename WHERE c3 LIKE '2%'

  2. UPDATE tablename SET c3 = c3 - 1000

0

essayer:

DELETE yourtable where c3 in (2000,2001) 

UPDATE yourtable 
    set C3=C3-1000 
    WHERE c3>=3000 AND c3<4000 
4

En supposant que votre colonne C3 est une chaîne (vous ne dites pas):

delete MyTable where c3 like '2%' 
update MyTable set c3 = '2' + substring(c3, 2, len(c3) - 1) where c3 like '3%' 

En supposant que votre colonne C3 est un entier:

delete MyTable where c3 between 2000 and 2999 
update MyTable set c3 = c3 - 1000 where c3 between 3000 and 3999 
Questions connexes