Sql server 对列数据类型文本SQL Server使用替换

Sql server 对列数据类型文本SQL Server使用替换,sql-server,tsql,sql-server-2008-r2,Sql Server,Tsql,Sql Server 2008 R2,我尝试使用以下代码解决列类型文本上的急性重音: 更新[AcuerdateWEB].[dbo].[Actividad] 设置descripion=REPLACE(强制转换(将descripion描述为nvarchar(max))、'ó'、'oacute') 其中描述“%ó%” 问题是该列的数据类型为text,无法替换;但是当我使用上面的代码时,似乎查询成功并显示了受影响的行总数是TEXT还是NTEXT?您正在替换中混合类型 它完成时没有错误,但没有执行任何操作的原因是,您要求它用&o

我尝试使用以下代码解决列类型文本上的急性重音:

更新[AcuerdateWEB].[dbo].[Actividad]
设置descripion=REPLACE(强制转换(将descripion描述为nvarchar(max))、'ó'、'oacute')
其中描述“%ó%”

问题是该列的数据类型为
text
,无法替换;但是当我使用上面的代码时,似乎查询成功并显示了受影响的行总数

是TEXT还是NTEXT?您正在替换中混合类型

它完成时没有错误,但没有执行任何操作的原因是,您要求它用
ó
替换任何
,并且仅在包含
ó
的记录中

按照目前的编写方式,您想用另一个替换哪一个是不明确的,因此我将同时显示这两个

如果要将
ó
替换为
ó

更新[AcuerdateWEB].[dbo].[Actividad]
设置descripion=REPLACE(强制转换(将descripion描述为VARCHAR(MAX))、'ó'、'oacute')
其中描述为“%ó%”;
如果要将
ó
替换为
ó

更新[AcuerdateWEB].[dbo].[Actividad]
设置descripion=REPLACE(强制转换(将descripion描述为VARCHAR(MAX)),“ó”,“ó”)
其中,类似“%ó%”的描述;
另外,如果数据类型确实是NTEXT,只需将
VARCHAR(MAX)
更改为
NVARCHAR(MAX)
,并在3个字符串文本前面加上
N
,如下所示:

更新[AcuerdateWEB].[dbo].[Actividad]
设置descripion=REPLACE(强制转换(将descripion描述为NVARCHAR(MAX)),N'ó',N'和oacute')
其中,描述类似于N的“%ó%”;

您为什么仍在使用文本?它已经被弃用10年了……谢谢,你说得对,我把字符串设置在了错误的参数中。