2013-10-08 31 views
0

我有一個稱爲鏈接的列,它可以包含不同類型的鏈接。我只想檢索那些擁有網址的網站,即www.google.com,以便我可以申請一些內容。如何在tsql查詢中使用正則表達式

SELECT * 
FROM UserAlert 
WHERE Link = ...// check whether it's a url 

感謝您的幫助

+0

如果您使用的是SQL Server 2008 R2或更高版本,請嘗試主數據服務和mdq.RegexIsMatch,這可能有所幫助。 – Mithrandir

回答

1

這可能是幾乎100%是工作更適合於前端應用程序,而不是數據庫。這將需要在服務器上執行代碼。

這裏是這裏的線程在計算器上約網址檢測的正則表達式,從中你可以選擇任何一種相當不錯的表現的:What is the best regular expression to check if a string is a valid URL?

要在MSSQL使用正則表達式,你需要首先使用MSSQL 2005或更高版本。假設情況是這樣的......您必須在自定義CLR對象中包裝正則表達式功能,在整個數據庫上啓用CLR交互,然後才能在WHERE子句中使用該自定義CLR對象。

這裏是a detailed article about doing exactly that的例子和分步說明。

我希望你真的確信你想讓代碼執行成爲你數據庫的一部分。祝你好運!

+0

其實,這只是一個腳本,我想運行,以便我可以做一些清理。那麼我會試着在前端編寫一個方法來做到這一點。 – Richard77

+0

如果你只是做一次性清理工作,編寫一個與SQL Server接口的腳本就沒有問題。您只需從自己的代碼中執行正則表達式而不是SQL,並且可能最終會按記錄更改所有記錄。 – djdanlib

+0

非常感謝。 – Richard77