【发布时间】:2012-02-18 08:48:01
【问题描述】:
我需要你的建议。我正在编写一个 ASP.NET Web 应用程序,并且正在考虑是否允许用户使用正则表达式在数据库中指定搜索词。
两个问题:
SQL Server 是否支持对 SELECT 语句使用正则表达式?
允许用户为数据库选择指定正则表达式是否安全?
【问题讨论】:
标签: sql regex sql-server-2005 tsql select
我需要你的建议。我正在编写一个 ASP.NET Web 应用程序,并且正在考虑是否允许用户使用正则表达式在数据库中指定搜索词。
两个问题:
SQL Server 是否支持对 SELECT 语句使用正则表达式?
允许用户为数据库选择指定正则表达式是否安全?
【问题讨论】:
标签: sql regex sql-server-2005 tsql select
1 - 否,但您可以为此使用 CLR 函数,例如:
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction(DataAccess = DataAccessKind.None, IsDeterministic = true)]
public static SqlBoolean RegexMatch(string Pattern, string Expression)
{
return new Regex(Pattern).IsMatch(Expression);
}
};
2 - 安全完全取决于您的认识
【讨论】: