Dopiero dzisiaj zauważyłem, że w SQL mamy coś takiego! Jest to metoda pozwalająca na dokonywanie zapisu do koluny nvarchar(max) w taki sposób, aby zmienić część tekstu na inny. Poniżej prezentuję przykład wzięty z http://decipherinfosys.wordpress.com/2007/07/24/update-textntext-or-varcharmax-data-type-columns-in-sql-server/
Popatrz na ten przykład:
Tworzysz tabelkę: CREATE TABLE Test(ID INT IDENTITY,
TXT NVARCHAR(MAX))
Wstaw do niej rekord:
INSERT Test VALUES(’It is new’)i obejrzyj go:
SELECT TXT FROM TestA teraz zaktualizuj go z wykorzystaniem mutatora WRITE
UPDATE Test SET TXT.WRITE(’was’,3,2)Zobacz zmiany:
SELECT TXT FROM Test
WRITE możesz użyć tylko dla NVARCHAR(MAX) lub VARCHAR(MAX). Przyjmuje 3 parametry:
- Nowy tekst, który ma być wstawiony do kolumny z danymi
- Indeks pozycji startowej liczony od zera!
- Długość napisu, który ma zostać wycięty z kolumny i zastąpiony poprzez napis z pierwszego argumentu. W naszym przypadku wyciąłem 2 znaki zaczynając od 3 (licząc od zera). Zastępowanym tekstem było więc „is”. Tekst zamieniłem na „was”. Jeżeli chcesz tylko wstawić nowy tekst, podaj tu zero.