web-dev-qa-db-fra.com

Mettre à jour la sous-chaîne d'une colonne

J'ai une table dans une base de données SQL Server 2008 appelée Meter. Cette table a une colonne appelée Name.

Chaque entrée de la colonne Name a un préfixe du ZAA\ Suivant. Je voudrais changer ce préfixe en ZAA_ Sans affecter le reste du texte dans la colonne.

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

Éditer:

Ou, comme le dit @Damien_The_Unbliever, pour utiliser un index:

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

MODIFIER

À partir de votre commentaire, essayez cette instruction pour corriger le \:

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

MYSQL:

UPDATE Meter
SET Name = CONCAT('ZAA' ,'_', SUBSTRING(Name, 4, LENGTH(Name)))
WHERE Name LIKE 'ZAA\%'
2
user2823361