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年了……谢谢,你说得对,我把字符串设置在了错误的参数中。