2010-08-04 138 views

回答

6

除非我失去了一些東西很明顯,這應該只是需要簡單LIKE查詢。

SELECT * 
FROM YourTable 
WHERE URL LIKE 'http://example.com/users/%/' 

正則表達式在SQL查詢中是過度和棘手的。

注意:%字符與SQL表達式中的*通配符等效。

如果你想使用LINQ和只工作對SQL Server,你可以使用這個語法:

var results = 
     from yt in YourTable 
     where SqlMethods.Like(yt.URL, "http://example.com/users/%/") 
     select yt; 
+0

是否有一個簡單的方法來做到這一點的LINQ?似乎他們只有開始,包含等... – rksprst 2010-08-05 02:36:52

+0

更新我的答案,包括一個LINQ版本。 – JohnFx 2010-08-05 04:29:01

2

這就像做一個像,而是由%字符替換*字符,因爲它是那麼簡單通過T-SQL中使用通配符(我假設你是SQL Server上,因爲這是C#和LINQ相關)

SELECT * 
FROM YourTable 
WHERE @TheUrlIWantToMatch LIKE REPLACE(URL, '*', '%') 
+1

像這樣不行。 LIKE關鍵字前的表達式中不能有通配符。 – JohnFx 2010-08-04 22:47:16

+1

哎呀,我把它們放錯了順序。我編輯它感謝指出 – StevenGilligan 2010-08-04 22:53:26