T-SQL中如何使用正則表達(dá)式函數(shù)

今天就跟大家聊聊有關(guān)T-SQL中如何使用正則表達(dá)式函數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

橋東網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

首先,我們在VSTS中創(chuàng)建一Database Project,增一個(gè)class, 實(shí)現(xiàn)下面的一個(gè)方法:

代碼如下: /// <summary> /// Regs the ex match. /// </summary> /// <param name="inputValue">The input value.</param> /// <param name="regexPattern">The regex pattern.</param> /// <remarks>Author: Petter Liu http://wintersun.cnblogs.com </remarks> /// <returns>1 match,0 not match</returns> [SqlFunction] public static bool RegExMatch(string inputValue, string regexPattern) { // Any nulls - we can't match, return false if (string.IsNullOrEmpty(inputValue) || string.IsNullOrEmpty(regexPattern)) return false; Regex r1 = new Regex(regexPattern.TrimEnd(null)); return r1.Match(inputValue.TrimEnd(null)).Success; }

好了,Build后Deploy到你的Target database就OK了,VisualStudio會自動注冊這個(gè)程序集的。如果,你想手動注冊程序集,可執(zhí)行以下的T-SQL:

代碼如下: CREATE ASSEMBLY [RegExCLR] FROM 'RegExCLR.dll'; -- Add the REGEX function. We want a friendly name -- RegExMatch rather than the full namespace name. -- Note the way we have to specify the Assembly.Namespace.Class.Function -- NOTE the RegExCLR.RegExCLR -- (one is the assembly the other is the namespace) CREATE FUNCTION RegExMatch ( @inputCalue NVARCHAR(4000), @regexPattern NVARCHAR(4000) ) RETURNS BIT AS EXTERNAL NAME RegExCLR.RegExCLR.ClrClass.RegExMatch;

OK, 一切OK的后,我們來測試下: select COUNT(1) from Threads where dbo.RegExMatch(ThreadId,'^[{|\(]?[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F]{12}[\)|}]?$')=1 上面的T-SQL是找出Threads表ThreadId是GUID的記錄數(shù)。 等于1是匹配,^[{|\(]?[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F]{12}[\)|}]?$ 匹配GUID的正則表達(dá)式。 完了,希望這篇POST對您有幫助。您可能對以下POST感興趣: SQLSERVER2008中CTE的Split與CLR的性能比較 SQLSERVER使用CLR Stored Procedure導(dǎo)出數(shù)據(jù)到Excel

看完上述內(nèi)容,你們對T-SQL中如何使用正則表達(dá)式函數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

本文標(biāo)題:T-SQL中如何使用正則表達(dá)式函數(shù)
網(wǎng)址分享:http://bm7419.com/article46/igeseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站動態(tài)網(wǎng)站、App開發(fā)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站