我需要更新/替换datatable.column中的数据。该表具有一个名为的字段Content
。我正在使用该REPLACE
功能。由于column数据类型为NTEXT
,因此SQL Server不允许我使用该REPLACE
函数。
我无法更改数据类型,因为此数据库是第三方软件表。更改数据类型将导致应用程序失败。
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = REPLACE(Content,'ABC','DEF')
WHERE Content LIKE '%ABC%'
我收到此错误:
消息8116,级别16,状态1,行1参数数据类型ntext对于replace函数的参数1无效。
- 我可以使用T-SQL修复此问题吗?有人有示例如何阅读和循环吗?
- 由于这是一次转换,因此也许我可以更改为另一种类型,但恐怕会弄乱数据。
有一个主键字段:名称:ID-整数-这是一个标识...。所以我也需要考虑一下。也许将身份设置为N临时。
请告知如何实现REPLACE功能?
大约 需要使用新的解决方案更新3000条语句。
这是SQL Server 2000吗?
—
p.campbell 2010年
解答:我正在使用SQL2008 ...,数据库的兼容性级别为2000(80)。如果我也更改此设置,它将在2008年起作用吗?因为我不知道后果如何,所以我将兼容性级别保留为2000,但这是SQL 2008数据库。这是一次转换...
—
ethem 2010年