Конкатенация ntext в SQL Server 2005

Мне нужно объединить 2 столбца ntext в один. Я не могу преобразовать их в nchar, потому что оба содержат строки длиной более 4000 символов. Есть ли способ сделать это в SQL Server 2005?

Solutions Collecting From Web of "Конкатенация ntext в SQL Server 2005"

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 Server 2008 R2 или в одном выпуске позже. NVARCHAR(MAX) – логический преемник, дающий вам все NTEXT когда-либо давший вам, и многое другое!

Если ваши поля будут с NVARCHAR(MAX) с самого начала, вы можете просто написать:

 UPDATE YourTable SET field = field1 + field2 WHERE (your condition here) 

и покончить с этим!

Я предлагаю вам обновить свои таблицы, чтобы использовать NVARCHAR(MAX) вместо NTEXT .

Марк

Преобразуйте их в nvarchar(max) для конкатентации. Это замена SQL на SQL 2005 и позволяет использовать все обычные операции nvarchar .

Существует способ обновления столбца ntext:

 DECLARE @memo binary(16) SELECT @memo = TEXTPTR(field1) FROM YourTable WHERE (your condition here) UPDATETEXT YourTable.field1 @memo NULL 0 'Text to append' 

Вот еще информация.