2009-01-21 95 views
20

在Sql Server 2005中使用t-sql附加到文本字段的最佳方式是什麼?如何附加到t-sql中的文本字段SQL Server 2005

用varchar我會這樣做。

update tablename set fieldname = fieldname + 'appended string' 

但是這不適用於文本字段。

+0

關閉我的頭頂我會說這應該工作。這個問題可能是一個轉換/鑄造問題。嘗試fieldname = fieldname + N'appended string' – Craig 2009-01-21 17:57:07

+0

不幸的是,這並沒有奏效。我得到'數據類型文本和nvarchar在添加操作符中不兼容。'不過謝謝。 – 2009-01-21 18:03:13

回答

33

試試這個:

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

This should work (link)

從鏈接複製:

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

我希望有一個更簡單的方法,但感謝您的鏈接。 – 2009-01-21 18:05:50

3

在2005年,你應該使用VARCHAR(最大值)或nvarchar(最大),這些列將具有正常功能的varchar工作。文本和ntext已棄用

0

爲VARCHAR(最大值)的最大長度爲2,147,483,647個字符。 這與Text數據類型相同。

無論文字能夠容納什麼,這可以容納, ,所以你不必擔心通過切換到VARCHAR(MAX)來耗盡房間。

謝謝。