在SQL Server 2005中连接ntext

Mar*_*sCC 9 sql-server sql-server-2005 ntext

我需要将2个ntext列连接成一个.我无法将它们转换为nchar,因为它们都包含超过4000个字符的字符串.有没有办法在SQL Server 2005中执行此操作?

mar*_*c_s 12

UPDATE 
    YourTable
SET 
    Field = CAST( (CAST(field1 AS NVARCHAR(MAX)) + CAST(field2 AS NVARCHAR(MAX))) AS NTEXT)
WHERE 
    (your condition here)
Run Code Online (Sandbox Code Playgroud)

但实际上 - 对于SQL Server 2005,它已NTEXT被弃用,很可能会在SQL Server 2008 R2或之后的版本中逐步淘汰.NVARCHAR(MAX)是合乎逻辑的继承者,给你所有人NTEXT给你,还有更多!

如果你的字段是NVARCHAR(MAX)从头开始,你可以写:

UPDATE 
    YourTable
SET 
    field = field1 + field2
WHERE 
    (your condition here)
Run Code Online (Sandbox Code Playgroud)

并完成它!

我建议你升级你的表NVARCHAR(MAX)而不是使用NTEXT.