GithubHelp home page GithubHelp logo

mssql-regex-clr's Introduction

mssql-regex-clr

CLR RegEx User Defined Functions for SQL Server

MSSQL CLR Documentation

https://docs.microsoft.com/en-us/sql/relational-databases/clr-integration-database-objects-user-defined-functions/clr-scalar-valued-functions

Installation

Instructions:

  1. Compile CLR script into .dll.
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /t:library RegexFunctions.cs
  1. Put .dll into path: C:\Program Files\Microsoft SQL Server\CLR\RegexFunctions.dll
  2. Run Install.sql script

RegexFunctions

Regex

IsRegexMatch

-- Determines if the string is matched by the regex pattern provided
select dbo.IsRegexMatch('abc123xyz', '\d')   -- 1 (True)
select dbo.IsRegexMatch('abc123xyz', 'ABC')  -- 0 (False)
select dbo.IsRegexMatch(NULL, NULL)          -- NULL

RegexReplace

-- Replaces all instances of the pattern with the replacement string
select dbo.RegexReplace('abc123xyz', '\d', '?')   -- 'abc???xyz'
select dbo.RegexReplace('abc123xyz', 'ABC', 'X')  -- 'abc123xyz'
select dbo.RegexReplace(NULL, NULL, NULL)         -- NULL

RegexMatchGroup

-- Returns the numbered match within the regex parens. 0 means the whole match.
select dbo.RegexMatchGroup('abc123xyz', '([^\d]+)(\d+)([^\d]+)', 0)  -- 'abc123xyz'
select dbo.RegexMatchGroup('abc123xyz', '([^\d]+)(\d+)([^\d]+)', 2)  -- '123'
select dbo.RegexMatchGroup(NULL, NULL, NULL)                         -- NULL

RegexIndex

-- Returns the 1-based index of the first occurrence of the pattern. Similar to CHARINDEX.
select dbo.RegexIndex('abc123xyz', '\d')  -- 4
select dbo.RegexIndex('abc123xyz', 'Q')   -- 0
select dbo.RegexIndex(NULL, NULL)         -- NULL

mssql-regex-clr's People

Contributors

mattmc3 avatar

Forkers

inkenrat

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.