前言
我使用的是sqlserver2008,是不支持正则表达式的,当然like模糊查询可以解决一些问题但,有的时候正则表达式会更加方便。
比如我要查表中某个varchar字段里含有字母的记录,或含有中文的记录,用like搞不定啊
如果能用正则表达式,那只要百度下表达式就出来了.
如何让sqlserver支持正则?
这里要应用sqlserver 公共语言运行库(CLR) 扩展功能,自定义自己的CLR程序集,扩展到sqlserver中。CLR应该程序可以用c#开发,也可以用vb开发,我们的自定义函数,过程将会以dll插件方式,集成到sqlserver中。
猜测sqlserver中的很多系统函数,过程,也是以dll的方式存在的。
虽然CLR来带了强悍的扩展功能,但也带来的一定的安全风险,某些黑客会利用sqlserver开启的CLR程序集,进行攻击,所有要不要用,需要自己衡量。
实现正则
1,首先开启sqlserver CLR 功能
exec sp_configure 'clr enabled',1
reconfigure
GO
我这里用的vs2019
2,创建一个c#的类库,框架选3.5
更多推荐
sqlserver使用正则表达式
发布评论