博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql中将字符串按分割符拆分
阅读量:4981 次
发布时间:2019-06-12

本文共 1205 字,大约阅读时间需要 4 分钟。

创建函数
1 SET ANSI_NULLS ON 2 GO 3  4 SET QUOTED_IDENTIFIER ON 5 GO 6  7 Create FUNCTION [dbo].[F_Split] 8  ( 9      @SplitString nvarchar(max),  --源字符串10      @Separator nvarchar(10)=' '  --分隔符号,默认为空格11  )12  RETURNS @SplitStringsTable TABLE  --输出的数据表13  (14      [id] int identity(1,1),15      [value] nvarchar(max)16  )17  AS18  BEGIN19      DECLARE @CurrentIndex int;20      DECLARE @NextIndex int;21      DECLARE @ReturnText nvarchar(max);22 23      SELECT @CurrentIndex=1;24      WHILE(@CurrentIndex<=len(@SplitString))25          BEGIN26              SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);27              IF(@NextIndex=0 OR @NextIndex IS NULL)28                  SELECT @NextIndex=len(@SplitString)+1;29                  SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);30                  INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText);31                  SELECT @CurrentIndex=@NextIndex+1;32              END33      RETURN;34  END35 GO

 

  使用:

select * from F_Split('1,2,3,4,5',',')

  

select * from tb_SysUser u where u.ID in (select value from dbo.F_Split('1,2,3,4',','))

  

转载于:https://www.cnblogs.com/xx2oo8/p/7000728.html

你可能感兴趣的文章
G面经prepare: set difference
查看>>
蓝牙的key event
查看>>
FtpHelper
查看>>
Opportunity的chance of success的赋值逻辑
查看>>
codevs1228 (dfs序+线段树)
查看>>
关于与后端接口对接,自己总结的几个原则
查看>>
webstorm 格式化代码及常用快捷键
查看>>
适配器模式-Adapter(Java实现)
查看>>
安装phpwind报错
查看>>
Python第五章(北理国家精品课 嵩天等)
查看>>
WPF中设置快捷键
查看>>
vector(C++)讲解
查看>>
Java动态编译
查看>>
[I2C].I2C总线详解
查看>>
计算机网络面试知识总结3
查看>>
数字签名与数字证书以及https
查看>>
Zabbix 监控数据库MSSqlServer
查看>>
纪念我12月15日中国银行笔试
查看>>
问卷调查
查看>>
软件工程第五次作业
查看>>