为什么我的查询出现此错误?
Msg 8116,Level 16,State 1,Line 3
参数数据类型文本对于替换函数的参数1无效。
查询:
UPDATE
tableName
SET
fieldName = REPLACE (fieldName, '<', '<')
WHERE
id = 100
答案 0 :(得分:28)
试试这个:
UPDATE tableName
SET fieldName = REPLACE (CONVERT(VARCHAR(MAX), fieldName), '<', '<')
WHERE id = 100
答案 1 :(得分:2)
这对你有用
UPDATE yourTableName
SET
fieldName = REPLACE (CONVERT(VARCHAR(MAX), fieldName), '<', '<')
WHERE id = 100
答案 2 :(得分:0)
如果您想对大于8000字符的文本进行相同操作,可以使用以下代码:
DECLARE @v VARCHAR(10) -- TEXT TO ADD
DECLARE @Vs VARHCAR(10) -- TEXT TO FIND
SET @v = 'String text to add'
SET @Vs = 'String text to find'
UPDATE
yourTableName
SET
textField = SUBSTRING(textField,1,DATALENGTH (textField)-LEN(@Vs)) + REPLACE( CAST(SUBSTRING(textField,DATALENGTH(textField)-LEN(@Vs)-1,DATALENGTH (textField)) AS VARCHAR(4)),@Vs,@v )
WHERE
yourTableName.id = @iRifID -- Update for Table ID