Приведенный выше пример будет работать в SQL Server 2005, где val - это текстовое поле, а вы обновляете все значение. Если вы заменяете только часть поля, используйте UPDATETEXT в отдельной инструкции.
Лучшее решение, если вы можете обновить схему, это использовать столбцы VARCHAR (MAX) или NVARCHAR (MAX). Команда UPDATETEXT была помечена как устаревшая в следующем выпуске SQL Server. Если вы используете эти типы данных, вы можете использовать column_name.WRITE в операторе UPDATE, чтобы заменить часть значения.