大家都说我的描述很不好,这次我干脆直接用代码+注释来表示了。
这样,编译此类库,实用如下sql 语句将dll创建到数据库中:
create assembly ArrayAssembly
from 'd:\stringSplit.dll'
WITH permission_set = Safe;
注意更改dll的对应地址。
然后如果是第一次做clr集成应用,需要把clr功能开启,使用如下语句开启:
EXEC sp_configure 'clr enabled', '1';
GO
RECONFIGURE;
GO
然后开启了的朋友可以创建这个表值函数了,使用如下语句:
create function splitstring(@x nvarchar (200),@y nchar(1))
RETURNS TABLE(StringElement nvarchar(200))
AS EXTERNAL NAME ArrayAssembly.[StringSplit.Stringhelp].GetStrings;
GO
这个语句要注意命名规则,规则我在以前的文章中讲过了。
然后可以测试这个表值函数了。
select * from splitstring('xiangxiang,zangjifei',',')
返回结果:
这样,就可以很容易的使用了。
比如:
select * from dbo.T_test as t where t.id in (select * from splitstring('12,23',','))