W moim przypadku musiałem zamienić podwójny cudzysłów na pojedynczy cudzysłów. Użyłem następującej REPLACE ([ColumnValue], '"', '' ''). Koniec to cztery pojedyncze cudzysłowy.
Daniel Butler
11
Jeśli kogoś to obchodzi NTEXT, użyj następującego formatu:
SELECTCAST(REPLACE(CAST([ColumnValue] ASNVARCHAR(MAX)),'find','replace') AS NTEXT)
FROM [DataTable]
To stwierdzenie samo w sobie nie powoduje wykonania aktualizacji. musisz wykonać następujące czynności: UPDATE [DataTable] SET SET [ColumnValue] = CAST (REPLACE (CAST ([ColumnValue] AS NVARCHAR (MAX)), „domain2”, „domain1”) AS NTEXT) FROM [DataTable]
Odpowiedzi:
Składnia REPLACE :
REPLACE (wyrażenie_ciągowe, wzorzec_ciągów, zastąpienie_łańcuchów)
Aby SQL, którego potrzebujesz, był:
UPDATE [DataTable] SET [ColumnValue] = REPLACE([ColumnValue], 'domain2', 'domain1')
źródło
Jeśli kogoś to obchodzi
NTEXT
, użyj następującego formatu:SELECT CAST(REPLACE(CAST([ColumnValue] AS NVARCHAR(MAX)),'find','replace') AS NTEXT) FROM [DataTable]
źródło
update YourTable set YourColumn = replace(YourColumn, '@domain2', '@domain1') where charindex('@domain2', YourColumn) <> 0
źródło