2つのntext列を1つに連結する必要があります。それらをncharに変換できません。どちらにも、4000文字より長い文字列が含まれているためです。SQL Server 2005でこれを行う方法はありますか?
13916 次
3 に答える
12
UPDATE
YourTable
SET
Field = CAST( (CAST(field1 AS NVARCHAR(MAX)) + CAST(field2 AS NVARCHAR(MAX))) AS NTEXT)
WHERE
(your condition here)
しかし実際には、SQL Server 2005ではNTEXT
非推奨になり、SQL Server2008R2または1つのリリース以降で段階的に廃止される可能性があります。NVARCHAR(MAX)
論理的な後継者であり、あなたNTEXT
にこれまでに与えたすべてのもの、そしてもっとたくさんのものを与えます!
フィールドがNVARCHAR(MAX)
最初からのものである場合は、次のように書くことができます。
UPDATE
YourTable
SET
field = field1 + field2
WHERE
(your condition here)
そしてそれで終わらせてください!
NVARCHAR(MAX)
の代わりに使用するようにテーブルをアップグレードすることをお勧めしますNTEXT
。
マーク
于 2009-08-13T15:08:33.407 に答える
3
それらをnvarchar(max)
連結用に変換します。これはSQL2005に代わるものでntext
あり、通常のすべてのnvarchar
操作を可能にします。
于 2009-08-13T14:49:18.840 に答える
1
ntext列を更新する方法があります。
DECLARE @memo binary(16)
SELECT
@memo = TEXTPTR(field1)
FROM
YourTable
WHERE
(your condition here)
UPDATETEXT YourTable.field1 @memo NULL 0 'Text to append'
詳細はこちらです。
于 2011-11-20T23:40:47.860 に答える