这2天在写存储过程的时候发现SQL里没有Split函数在需要分割字符串的时候很是不方便,比如有时候存储过程某个参数是个用逗号做分隔符的字符串,就需要用到Split了。本着不重复制造轮子的原则,先上网搜索了一下,果然已经有兄弟实现了Split方法并且无私共享了代码。
CREATEFUNCTION dbo.Split(@String varchar(8000), @Delimiter char(1)) returns @temptable TABLE (items varchar(8000)) as begin declare @idx int declare @slice varchar(8000) select @idx = 1 iflen(@String)<1 or @String isnullreturn while @idx!= 0 begin set @idx =charindex(@Delimiter,@String) if @idx!=0 set @slice =left(@String,@idx - 1) else set @slice = @String if(len(@slice)>0) insertinto @temptable(items)values(@slice) set @String =right(@String,len(@String)- @idx) iflen(@String)= 0 break end return end
只需要运行以上SQL,将其保存成名为Split的Table-Valued function,就可以像C#一样在SQL里使用Split了,例子如下
select top 10 * from dbo.split(‘Chennai,Bangalore,Mumbai’,’,’)
测试结果如下图所示
最后感谢一下提供源码的兄弟,原文见Split Function in Sql Server to break Comma-Separated Strings into Table
这个很实用,赞一个
这个很实用,赞一个
有用到..不錯
超人気質屋 ブランドスーパーコピーブランドスーパーコピーの2022春夏の新作の商品到着!当店には、
ブランド品、ルイウ゛ィトンスーパーコピー、グッチスーパーコピー、
シャネルスーパーコピー、
ミュウミュウ バッグー各種海外有名品を豊富に取り揃え、
最高級コピー商品ですが、安い値段で販売いたします。伝統と現代性の
融合が生み出す進化したブランドスーパーコピーを提案しました。
商品は一番良い素材を採用して、品質の方面はご安心ください。
是非この機会にご入札ください。
始めて利用させてもらったのですが、対応がとても好感を持てました。支払い方法で、こちらに不備があったのですが、すぐに電話を頂いて商品の到着も指定日の指定時間ちょうどに届きました!!商品も新品Sランクでしたが、本当に美品でここで購入してよかったと満足してます。
最新高级コピー時計
時計を買いたいならロレックス コピーネットショップへ購入してください。
世界名時計ブランド、おしゃれな製品スタイルのトップ、最高な技術、素敵なデザイン;ブランド コピーネットショップはいつもあなたに最高な時計、豪華スタイルの品質、成功紳士の愛用を提供します!
我々は何年の営業でいい評価と地位を得て、安全で信頼できるスーパーコピーになります。ご購入をようこそ。
スーパーコピーブランド専門店 https://www.sbagshop.com/brand-36-copy-0-cheap-0-max0-attr0-4-sort_order%20Desc%2cgoods_id-DESC.html