C# 如何在C中匹配SQL查询?
我想用不同的条件值匹配相同类型的SQL查询 例如:C# 如何在C中匹配SQL查询?,c#,sql,sql-server,regex,C#,Sql,Sql Server,Regex,我想用不同的条件值匹配相同类型的SQL查询 例如: SELECT * FROM Customer Where Age > 20 AND Age < 40 SELECT * FROM Customer Where Age > 30 AND Age < 50 当我通过第一个和第二个查询时,它应该返回true,但第二个和第三个查询返回false 我尝试使用正则表达式,但如何找到参数的位置?它可以在任何地方 是否可以使用SqlScriptDom执行此操作?怎样我正在使用Sql
SELECT * FROM Customer Where Age > 20 AND Age < 40
SELECT * FROM Customer Where Age > 30 AND Age < 50
当我通过第一个和第二个查询时,它应该返回true,但第二个和第三个查询返回false
我尝试使用正则表达式,但如何找到参数的位置?它可以在任何地方
是否可以使用SqlScriptDom执行此操作?怎样我正在使用SqlScriptDom从SQL查询中获取表名,但是如何获取参数呢?好的,我不想选择您的语言,但我认为这在这里很重要。示例中的查询没有参数。它们在WHERE子句中具有排除标准。听起来您试图做的是比较两个查询的文本,除了WHERE子句之外的所有内容。ANSI SQL和T-SQL都遵循相同的约定,即在SELECT查询中,WHERE子句位于FROM子句之后,任何GROUP BY、HAVING或ORDER BY子句之前。因此,如果您只想分析代码的文本,您可以将其拉出并以这种方式进行比较。不过,您可能会想到的一个问题是,SQL通常提供微妙的不同方式来完成相同的任务。例如,如果在示例中使用=而不是<和>,则可以使用BETWEEN运算符
我想您可能可以使用SqlScriptDom来做您想做的事情,但我做得不够好,无法真正帮助您。参数化查询?您能解释一下匹配查询的含义吗?我不明白你想做什么。你可能问错了问题@Siyual请看更新的问题请看更新的问题。有没有库已经这样做了?我想可以用Microsoft.SqlServer.Transact-SQL.ScriptDom编写。我不是专家。看这里
SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders
INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 10;
SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders
INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID)
GROUP BY LastName
HAVING COUNT(Orders.OrderID) > 50;
SELECT Employees.FirstName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders
INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID)
GROUP BY FirstName
HAVING COUNT(Orders.OrderID) > 50;