2013-09-02 15 views
12

Mam tabelę w bazie danych SQL Server 2008 o nazwie Meter. Ta tabela ma kolumnę o nazwie Name.Aktualizacja podciągu kolumny

Każdy wpis w kolumnie Name ma przedrostek następującego ZAA\. Chciałbym zmienić ten prefiks na ZAA_ bez wpływu na resztę tekstu w kolumnie.

Odpowiedz

15
UPDATE Meter 
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name)) 
WHERE SUBSTRING(Name, 1, 4) = 'ZAA\' 

Edit:

Albo jako stany @Damien_The_Unbliever, aby użyć indeksu:

UPDATE Meter 
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name)) 
WHERE Name LIKE 'ZAA\%' 

EDIT

z Twojego komentarza, spróbuj to oświadczenie do mocowania dodatkowego \ :

UPDATE Meter 
SET Name = 'ZAA_' + SUBSTRING(Name, 5, LEN(Name)) 
WHERE Name LIKE 'ZAA_\%' 
+1

'nazwie typu 'ZAA \%'' by przynajmniej umożliwić indeksu (jeśli taki istnieje), aby znaleźć wiersze, aby zaktualizować. –

+0

@Damien_The_Unbeliever - dodano. Dzięki. –

+0

'Niepoprawna składnia w pobliżu \' – Romesh

1

MySQL:

UPDATE Meter 
SET Name = CONCAT('ZAA' ,'_', SUBSTRING(Name, 4, LENGTH(Name))) 
WHERE Name LIKE 'ZAA\%' 
Powiązane problemy