目录
- 一、异常描述
- 二、异常sql
- 三、异常及解决思路分析
- 四、解决异常
- 五、相关知识点
- 六、写在最后
一、异常描述
[42000] [Microsoft][SQL Server Native Client 10.0][SQL Server]Argument data type ntext is invalid for argument 1 of replace function. (8116)
二、异常sql
// 批量替换掉文章中 127.0.0.1 替换为 域名 www.baidu.com
update F_Article
set ArticleContent = REPLACE(ArticleContent, ‘127.0.0.1’, ‘www.baidu.com’)
where ArticleContent like ‘%127.0.0.1%’;
// 其中 ArticleContent 字段类型是 ntext
三、异常及解决思路分析
关键词 ntext is invalid for argument 1 of replace function,可以看到ntext在replace函数是非法的
所以我们的解决思路,是转换 ntext为 varchar(max)
四、解决异常
// cast(ArticleContent as varchar(max))
update F_Article
set ArticleContent = REPLACE(cast(ArticleContent as varchar(max)), ‘127.0.0.1’, ‘www.baidu.com’)
where ArticleContent like ‘%127.0.0.1%’;
五、相关知识点
// 函数语法
REPLACE(string_expression , string_pattern , string_replacement)
// 参数说明
string_expression : 待搜索的内容
string_pattern : 要被替换的关键词
string_replacement: 被替换后的关键词
// 函数语法【以下只是一种格式】
CAST(expr AS CHAR(n) | CHARACTER(n) | VARCHAR(n))
// 参数说明
expr :带转换的内容
n : 长度,如果不确定,可以不写或者 max
详见参考: SQL函数 CAST
六、写在最后
此文章数据个人日常bug的记录,如有问题,请大家积极指导。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)