回答
對於SQL Server 2000(以及任何其他32位版本的SQL Server),存在xp_pcre,它將Perl兼容的正則表達式引入爲一組擴展存儲過程。我用過它,它可以工作。
更新的版本可讓您直接訪問.NET integrated regular expressions(此鏈接似乎已經死亡,下面是另一個:MSDN: How to: Work with CLR Database Objects)。
答案是否定的,不是一般情況下,雖然它可能取決於你的意思是有效的。爲了達到這些目的,我將使用以下定義:'按照合理順序有效使用索引和連接',這可能與任何其他目標一樣好。
在這種情況下,'Efficient'查詢是's-arg'能的,這意味着它們可以使用索引查找來縮小搜索謂詞的範圍。等式(t-joins)和簡單的不等式可以做到這一點。 'AND'謂詞也可以做到這一點。之後,我們進入表格,索引和範圍掃描 - 即必須進行記錄(或索引 - 關鍵字索引 - 鍵)比較的操作。
Sontek的回答描述了一種將regexp功能內嵌到查詢中的方法,但操作仍然需要根據記錄對記錄進行比較。將它封裝在一個函數中將允許一個基於函數的索引,其中計算的結果在索引中得以實現(Oracle支持這一點,並且您可以通過使用in this article討論的那種技巧在SQL Server中獲得等效的功能)。但是,您無法爲任意正則表達式執行此操作。
在一般情況下,正則表達式的語義不適合以索引的方式修剪匹配集,因此將rexegp支持集成到查詢優化器中可能是不可能的。
我認爲我們可以在SQL Server 2008中(HIERARCHYID,地理空間)的新類型看,如果微軟這樣做增加這一點,會在一個SQL CLR大會
形式。如果你能將Assemblies安裝到您的數據庫中,您可以通過在Visual Studio中創建一個新的Database \ SQL Server項目來自行推出 - 這將允許您創建新的Trigger/UDF/Stored Proc/Aggregate或UDT。您可以將System.Text.RegularExpressions導入到該類中,然後從該類中導出。
希望這有助於
我很想有原生地叫正則表達式在SQL Server中的即席查詢和存儲過程中使用的能力。我們的DBA不允許我們創建CLR函數,因此我一直在使用LINQ Pad作爲一種窮人的特殊事件查詢編輯器。在處理已保存到數據庫的結構化數據(如JSON或XML)時,它特別有用。
而且我同意這看起來像是一個疏忽,沒有正則表達式支持,它似乎是查詢語言的一個顯而易見的功能。希望我們能在未來的版本中看到它,但人們長期以來一直在尋求它,但它尚未成爲產品的一部分。
我看到反對它的最常見的原因是形成不良的表達式會導致在.NET中不會中止並且幾乎總是需要重新啓動計算機的catastrophic backtracking。也許一旦他們在框架中解決了這個問題,我們將會看到它包含在未來版本的SQL Server中。
- 1. SQL Server正則表達式
- 2. SQL Server中的正則表達式
- 3. 在Sql Server中的正則表達式
- 4. 正則表達式在SQL Server 2000中
- 5. 正則表達式代理服務器
- 6. SQL Server的正則表達式
- 7. SQL Server的正則表達式約束
- 8. SQL Server的正則表達式
- 9. SQL Server和正則表達式
- 10. SQL Server正則表達式搜索
- 11. SQL Server正則表達式kleene star
- 12. 從正則表達式返回文本插入SQL服務器
- 13. SQL Server T-SQL中的正則表達式
- 14. @ RESTful服務器中的Path正則表達式
- 15. 在SQL服務器中使用正則表達式驗證表數據
- 16. 服務器日誌的正則表達式模式
- 17. 地理服務器上的viewparam的正則表達式
- 18. Java:FTP服務器列表的正則表達式?
- 19. Java。解析FTP服務器列表的正則表達式
- 20. python sql正則表達式
- 21. 正則表達式oracle sql
- 22. SQL與正則表達式
- 23. 正則表達式SQL FROM
- 24. 將Perl正則表達式轉換爲SQL正則表達式
- 25. PHP-MySQLi替換爲正則表達式/正則表達式/正則表達式
- 26. 正則表達式:什麼是正確的正則表達式來匹配所有代理服務器?
- 27. RM-EC001的正則表達式(在sql-server中)
- 28. SQL Server中的關鍵正則表達式實現
- 29. Microsoft SQL Server中mm/yy的正則表達式
- 30. 在SQL Server中驗證網站URL的正則表達式
這是猜測和評論,不是答案。 – amoss 2011-12-01 20:08:41