【发布时间】:2020-01-09 17:19:52
【问题描述】:
我正在尝试用 SQL 中的现有字符替换非常大的字符,如下所示
select REPLACE('main context', 'text', 'CharactersOver8000')
它会抛出以下错误
String or binary data would be truncated.
我尝试将整个替换转换为 nvarchar(max) 但它不起作用。有什么建议吗?目前它在 SQL2012 上
【问题讨论】:
-
嗯。你有没有试过在
replace()之前投。 -
来自 Docs Online 如果 string_expression 的类型不是 varchar(max) 或 nvarchar(max),REPLACE 会在 8,000 字节处截断返回值。要返回大于 8,000 字节的值,必须将 string_expression 显式转换为大值数据类型。
-
我相信你指的是docs.microsoft.com/en-us/sql/t-sql/functions/…它说的是string_expression,但这里我指的是string_replacement
标签: sql sql-server replace