架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 15146|回复: 0

[资料] SQLServer实现split分割字符串万能方法

[复制链接]
发表于 2016-6-14 18:56:37 | 显示全部楼层 |阅读模式
QQ截图20160614185414.jpg

许多时候,都会遇到根据字符拆分的问题,在java和c#都很好解决,一行代码搞定,

但是,在数据库分割字符中,方法肯定会有的,但是,我也是第一次遇到这种情况,

额。。。以前也遇到过,当时忘记怎么解决的了。

从网上找了一个“SQLServer实现split分割字符串万能方法”,大家可是试试,可以用逗号#号等分割。

  1. SELECT temp.items as douhao FROM splitl('41564654,41564654,46578746,56565A,3211,1234,123454,13246512',',') as temp


  2. --下面是分割字符串方法

  3. CREATE FUNCTION splitl (
  4.     @String VARCHAR(MAX),
  5.     @Delimiter VARCHAR(MAX)
  6. ) RETURNS @temptable TABLE (items VARCHAR(MAX)) AS
  7. BEGIN
  8.     DECLARE @idx INT=1
  9.     DECLARE @slice VARCHAR(MAX)
  10.     IF LEN(@String) < 1 OR LEN(ISNULL(@String,'')) = 0
  11.         RETURN
  12.     WHILE @idx != 0
  13.     BEGIN
  14.         SET @idx = CHARINDEX(@Delimiter,@String)
  15.         IF @idx != 0
  16.             SET @slice = LEFT(@String,@idx - 1)
  17.         ELSE
  18.             SET @slice = @String
  19.         IF LEN(@slice) > 0
  20.             INSERT INTO @temptable(items) VALUES(@slice)
  21.         SET @String = RIGHT (@String, LEN(@String) - @idx)
  22.         IF LEN(@String) = 0
  23.             BREAK
  24.     END
  25.     RETURN
  26. END
复制代码






上一篇:ASP.NET MVC 给ViewBag赋值Html字符转义问题
下一篇:SqlServer中实现返回刚插入记录的ID
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-6-20 17:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表