2009-01-21 13 views
20

Jaki jest najlepszy sposób dodania do pola tekstowego przy użyciu t-sql w Sql Server 2005?Jak dołączyć do pola tekstowego w SQL Server 2005 SQL Server 2005

Z varcharem zrobiłbym to.

update tablename set fieldname = fieldname + 'appended string' 

Ale to nie działa z polem tekstowym.

+0

Z góry mojej głowy powiedziałbym, że powinno zadziałać. Problem jest prawdopodobnie związany z konwersją/castowaniem. Wypróbuj fieldname = fieldname + N'appended string ' – Craig

+0

Niestety, to nie zadziałało. Mam "Teksty typów danych i nvarchar są niekompatybilne w operatorze dodawania." W każdym razie dzięki. –

Odpowiedz

33

Spróbuj tego:

update 
    tablename 
set 
    fieldname = convert(nvarchar(max),fieldname) + 'appended string' 
+0

Dzięki Bravax, to było idealne! –

+1

Cóż, przynajmniej wiedziałem, że to był jakiś błąd konwersji. :) Dzięki Bravax. – Craig

+2

Jeśli nazwa pola ma wartość null, to nie będzie działać. zamiast nazwy pola spróbuj COALESCE (nazwa pola, '') – nuander

6

This should work (link)

Skopiowane z linku:

DECLARE @ptrval binary(16) 
SELECT @ptrval = TEXTPTR(ntextThing) 
FROM item 
WHERE id =1 
UPDATETEXT table.ntextthing @ptrval NULL 0 '!' 
GO 
+0

Chciałbym, żeby był łatwiejszy sposób, ale dzięki za link. –

3

w 2005 roku należy użyć varchar (max) lub nvarchar (max) kolumny te będą pracować z normalnych funkcji varchar. Tekst i ntext były przestarzałe

0

maksymalna długość varchar (max) jest 2,147,483,647 znaków. Jest to to samo co typ danych Tekst.

Niezależnie od tego, jaki tekst jest w stanie pomieścić, może się on utrzymywać, , więc nie musisz martwić się, że skończy Ci się miejsce, przełączając się na VARCHAR (MAX).

dziękuję.

Powiązane problemy