zoukankan      html  css  js  c++  java
  • [Database] SqlServer: SQL Server 2005 中使用正则表达式匹配

    SQL Server 2005 中使用正则表达式匹配

    CLR 用户定义函数只是在 .NET 程序集中定义的静态方法。CREATE FUNCTION 语句已扩展为支持创建 CLR 用户定义函数。

    1、创建数据库项目

      

    2、添加用户定义函数

      

    以下是演示代码:

    Code
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.SqlTypes;
    using Microsoft.SqlServer.Server;
    using System.Text.RegularExpressions;

    // 示意代码
    public partial class UserDefinedFunctions
    {
        
    public static readonly RegexOptions Options = RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline;

        [Microsoft.SqlServer.Server.SqlFunction]
        
    public static string RegexValue(SqlChars input, SqlString pattern)
        {
            Regex regex 
    = new Regex(pattern.Value, Options);

            
    return  regex.Match(new string(input.Value)).Value;
        }
    }

    3、将自定义函数关联到数据库

      

    4、Sql 查询分析器

        

    为了确保SQL可以执行托管代码,执行下面的语句:

    EXEC sp_configure 'clr enabled', 1

    sql 如下:
    select dbo.RegexValue('2008-09-02',N'\d{4}') from Table

    =============================================

  • 相关阅读:
    String为值类型还是引用类型
    Mat数据类型
    各数据类型取值范围和所占字节数
    opencv matType
    python函数参数中冒号与箭头
    批量删除list中元素的方法
    PyQt QListview和QListWidgt
    函数形参中的冒号与箭头
    CSS选择器之相邻兄弟选择器
    CSS选择器之子元素选择器
  • 原文地址:https://www.cnblogs.com/abeen/p/1410853.html
Copyright © 2011-2022 走看看