Ответ 1
Попробуйте следующее:
UPDATE tableName
SET fieldName = REPLACE (CONVERT(VARCHAR(MAX), fieldName), '<', '<')
WHERE id = 100
Почему я получаю эту ошибку из моего запроса?
Msg 8116, уровень 16, состояние 1, строка 3
Текст типа данных аргумента недействителен для аргумента 1 функции replace.
Query:
UPDATE
tableName
SET
fieldName = REPLACE (fieldName, '<', '<')
WHERE
id = 100
Попробуйте следующее:
UPDATE tableName
SET fieldName = REPLACE (CONVERT(VARCHAR(MAX), fieldName), '<', '<')
WHERE id = 100
это будет работать для вас
UPDATE yourTableName
SET
fieldName = REPLACE (CONVERT(VARCHAR(MAX), fieldName), '<', '<')
WHERE id = 100
Если вы хотите сделать ту же операцию для текста размером более 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