我想匹配具有不同條件的值相同類型的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) –