用過oracle的人都知道oracle有四個正則表達函式regexp_like、regexp_instr、regexp_substr、和egexp_replace,而sqlserver卻無法完全實現上面的功能。以前我們知道用sp_oa***系列函式來呼叫js組建實現正則,現在我們可以通過clr擴充套件來借助.net實現。
※**很簡單,就是封裝一下system.text.regularexpressions.regex到sqlproject當中。我們可以用下面15行**完成上述的四個函式中的最常用的兩個regexp_like和egexp_replace。
using
system;
using
system.data.sqltypes;
public
partial
class
regexp
[microsoft.sqlserver.server.sqlfunction ]
public
static
sqlstring regexp_replace(sqlstring input,sqlstring pattern,sqlstring replacement)
}; ※把上述的**編譯為sqlclr_regexp.dll,然後找一台伺服器發布,我們這裡發布到測試資料庫sqlclr中。發布**如下,比較簡單,我就不寫注釋了,大致流程就是啟用clr然後註冊assembly,最後申明函式。
create
database sqlclr
SQL2005CLR函式擴充套件 天氣服務
我們可以用clr獲取網路服務 來顯示到資料庫自定函式的結果集中,比如163的天氣預報 他的這個xml結果的日期是不正確的,但這個我們暫不討論。從這個xml獲取天氣的clr 如下,用webclient訪問一下就可以了。然後通過dom物件遍歷節點屬性返回給結果集。using system using s...
SQL2005CLR函式擴充套件 天氣服務
我們可以用clr獲取網路服務 來顯示到資料庫自定函式的結果集中,比如163的天氣預報 他的這個xml結果的日期是不正確的,但這個我們暫不討論。從這個xml獲取天氣的clr 如下,用webclient訪問一下就可以了。然後通過dom物件遍歷節點屬性返回給結果集。using system using s...
SQL2005CLR函式擴充套件 山寨索引
本文只是乙個山寨試驗品,思路僅供參考.對於檔案索引lucene才是權威,這裡只是自己實現了乙個可以實現簡單檔案索引的半成品.所謂檔案索引就是把sql字串按位元組分詞儲存到磁碟檔案目錄結構中用來快速定位.原理介紹 索引建立 目錄結構劃分方案也只是很簡易的實現了一下,通過unicode把任意連續的兩個字...