Sql server 使用nvarchar时文本溢出(最大值)?
我遇到了一个奇怪的情况,似乎涉及到长文本溢出。我在Sql server 使用nvarchar时文本溢出(最大值)?,sql-server,regex,sql-server-2005,Sql Server,Regex,Sql Server 2005,我遇到了一个奇怪的情况,似乎涉及到长文本溢出。我在nvarchar(max)列上使用fn\u pcre\u replace(来自),当我替换为比原来多的字符时,如果原始字符串长度超过8000个字符,它将返回NULL 比如说这个, Select master.dbo.fn_pcre_replace(Overview,'a', 'X') from ProjectContent 工作如预期,但这个 Select master.dbo.fn_pcre_replace(Overview,'a', 'X
nvarchar(max)
列上使用fn\u pcre\u replace
(来自),当我替换为比原来多的字符时,如果原始字符串长度超过8000个字符,它将返回NULL
比如说这个,
Select master.dbo.fn_pcre_replace(Overview,'a', 'X')
from ProjectContent
工作如预期,但这个
Select master.dbo.fn_pcre_replace(Overview,'a', 'XXX')
from ProjectContent
在大多数情况下返回NULL(显然,只要Len(Overview)>8000
)
这是
xp\u pcre
的一个限制,还是我可以在我的SQL中做些什么来实现这一点?这是xp\u pcre
的一个限制。看看资料来源:
switch (bType)
{
case SRVBIGCHAR:
case SRVBIGVARCHAR:
break;
default:
throw XpException(
StringBuilder()
<< "Invalid data type on parameter "
<< paramNum
<< " (should be CHAR or VARCHAR)."
);
}
开关(bType)
{
案例SRVBIGCHAR:
案例SRVBIGVARCHAR:
打破
违约:
抛出XpException(
StringBuilder()
谢谢!我想我只需要在.NET而不是SQL中进行清理。