У меня есть строковый столбец (Col1) в таблице (Tab1). Я хочу написать сценарий, который удаляет символы '%'
или '&' из строковых значений.SQL update column дважды
Выбрать, для этого является следующее:
SELECT REPLACE(Tab1.Col1, '&', ''),
REPLACE(Tab1.Col1, '%', '')
FROM Table1 Tab1
WHERE Tab1.Col1 like '%[&]%'
OR Tab1.Col1 like '%[%]%'
ли это кажется правильным? Если это так, как я могу преобразовать это в любой оператор обновления? Я попытался следующие:
UPDATE Tab1
SET Tab1.Col1 = REPLACE(Tab1.Col1, '&', ''),
Tab1.Col1 = REPLACE (Tab1.Col1, '%', '')
FROM Table1 Tab1
WHERE Tab1.Col1 like '%[&]%'
OR Tab1.Col1 like '%[%]%'
Это не работает, как вы не можете обновить колонку дважды в SET
. Есть ли другой способ, которым я могу это сделать? Я знаю, что я, наверное, делаю что-то глупое, поэтому извиняюсь за свое невежество.
Заранее спасибо.
«Я избегать вещей, которые, очевидно, не -portable "- erm, стандартный SQL использует' <> ', а не'! = '. – onedaywhen
@onedaywhen 'SQL Standard' <> 'Portable', но вы [правы] (http://stackoverflow.com/questions/723195/should-i-use-or-for-not-equal-in-tsql/723426 # 723426) :) – 2010-12-14 13:13:19