J'ai une colonne de chaîne (Col1) dans la table (Tab1). Je veux écrire un script qui supprime les caractères '%'
ou '&' des valeurs de chaîne.Colonne de mise à jour SQL deux fois
La sélection pour c'est le suivant:
SELECT REPLACE(Tab1.Col1, '&', ''),
REPLACE(Tab1.Col1, '%', '')
FROM Table1 Tab1
WHERE Tab1.Col1 like '%[&]%'
OR Tab1.Col1 like '%[%]%'
Cela vous semble correct? Si c'est comment je convertirais ceci à n'importe quelle instruction de mise à jour? J'ai essayé les éléments suivants:
UPDATE Tab1
SET Tab1.Col1 = REPLACE(Tab1.Col1, '&', ''),
Tab1.Col1 = REPLACE (Tab1.Col1, '%', '')
FROM Table1 Tab1
WHERE Tab1.Col1 like '%[&]%'
OR Tab1.Col1 like '%[%]%'
Cela ne fonctionne pas comme vous ne pouvez pas mettre à jour la colonne deux fois dans SET
. Existe-t-il un autre moyen de le faire? Je sais que je suis probablement en train de faire quelque chose de stupide, donc je m'excuse pour mon ignorance.
Merci d'avance.
«J'évite des choses qui sont de toute évidence non -portable "- erm, SQL standard utilise' <> 'plutôt que'! = '. – onedaywhen
@onedaywhen 'SQL Standard' <> 'Portable' mais vous êtes [right] (http://stackoverflow.com/questions/723195/should-i-use-or-for-not-equal-in-tsql/723426 # 723426) :) –