【发布时间】:2017-09-05 17:08:02
【问题描述】:
我在 SQL Server DB 项目中有 2 个函数。
GetCatalogueNo 在函数中编写了正则表达式模式。
[SqlFunction]
public static SqlString GetCatalogueNo(string originalString)
{
Regex r1 = new Regex("\\d{7}|\\d{3}/\\d{4}");
return r1.Match(originalString).Groups[0].Value;
}
在ExtractText 中,我将正则表达式模式作为参数传递。
[SqlFunction]
public static SqlString ExtractText(string originalString, string pattern)
{
Regex r1 = new Regex(pattern);
return r1.Match(originalString).Groups[0].Value;
}
SQL Server 上的编译代码适用于:GetCatalogueNo
SELECT dbo.GetCatalogueNo('xxxxx xxxxxxxxxx 9999999 xxxxxxx xxxxxxx .....')
返回:9999999
在 SQL Server 上编译的代码不返回任何内容:ExtractText
SELECT dbo.[ExtractText] ('xxxxx xxxxxxxxxx 9999999 xxxxxxx xxxxxxx .....', '\\d{7}|\\d{3}/\\d{4}')
我想知道dbo.[ExtractText] 中的第二个参数是如何传递的以及缺少什么。
【问题讨论】: