我想匹配具有不同条件的值相同类型的SQL查询的,如何匹配C#中的SQL查询?
例如:
SELECT * FROM Customer Where Age > 20 AND Age < 40
SELECT * FROM Customer Where Age > 30 AND Age < 50
的上述两个查询是除了在WHERE条件(值20,40是相同的, 30和50)。我想识别这样的查询。它应该和HAVING一起工作。它应该适用于条件中的任何值类型(int,varchar,date等)。
基本上我想写一个C#函数,我可以传递2个查询,并且如果两个查询都是相同的,除了排除条件中的值,它应该返回true。
又如:
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;
当我经过第一和第二查询应该返回true,但假的第2和第3位。
我试过正则表达式,但如何找到参数所在的位置?它可以在任何地方。
是否可以用SqlScriptDom做到这一点?怎么样?我使用SqlScriptDom从SQL查询中获取表名,但是如何获取参数?
参数化查询? –
你能解释一下“匹配查询”是什么意思吗?我不明白你想要做什么。 – Siyual
你可能会问错误的问题[**什么是XY问题?**](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –