sql-server - 在 SQL Server 2005 中连接 ntext

标签 sql-server sql-server-2005 ntext

我需要将 2 个 ntext 列连接成一列。我无法将它们转换为 nchar,因为两者都包含长度超过 4000 个字符的字符串。 有没有办法在 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

马克

关于sql-server - 在 SQL Server 2005 中连接 ntext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1272416/

相关文章:

c# - 如何使用小数数据类型

SQL Server 似乎四舍五入不正确

sql - 如何动态选择在存储过程中选择哪个表(具有相同架构)

c# - 数据类型 ntext 和 nvarchar 在等于运算符中不兼容

sql - 在邻接表模型中克隆树的数据库表示的最有效方法

sql - 从已知字符串中选择两个子字符串的 SQL 查询

sql - 在 SQL Server 中创建全局静态变量?

sql-server - 最佳热/温备份服务器复制策略 (SQL Server 2005)

c# - "Argument data type ntext is invalid for argument 1 of len function"错误