Search code examples
sql-serverregexfunctionstored-proceduressql-like

Sql Like to RegEx


Is there a good way to convert Regular Expression into LIKE inside a Function (MSSQL)? The sproc does not get more complicated than this:

(country\=)(?<Country>[\w\d]+)(\&sessionid\=)(?<SessionId>.+)

The groups will not be used in the LIKE, they are there for another purpose.

I would like to use this inside a sproc late like:

SELECT * FROM [Table]
WHERE test_regex(regex, 'text') = 1

Where the regex is a part of [Table]


Solution

  • It is possible to add Regular Expression parsing to SQL server, using a CLR function. This is possible from SQL 2005 and up. See here for a great example.