SQL根据”,“分割字符串

Posted 蹦蹦郭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL根据”,“分割字符串相关的知识,希望对你有一定的参考价值。


Declare @Sysno Nvarchar(500);
Set @Sysno=‘4,11064,100‘;
Declare @table_ReviewID Table
(
[Sysno] INT NOT NULL
)
While(CHARINDEX(‘,‘,@Sysno)<>0)
Begin
Insert Into @table_ReviewID(Sysno) Values(CONVERT(Int,Substring(@Sysno,1,CHARINDEX(‘,‘,@Sysno)-1)));
Set @Sysno=STUFF(@Sysno,1,CHARINDEX(‘,‘,@Sysno),‘‘);
End

Insert Into @table_ReviewID (Sysno) Values(CONVERT(Int,@Sysno));
Select * From @table_ReviewID

备注:

STUFF用法:删除指定长度的字符,并在指定的起点处插入另一组字符
语法

STUFF ( character_expression , start , length ,character_expression )
character_expression :操作的字符串
start :起始位置
length :长度
,character_expression :删除的起始位置插入第二个字符串,从而创建并返回一个字符串
例如:SELECT STUFF(‘abcdef‘, 2, 3, ‘ijklmn‘) 输出:aijklmnef

CHARINDEX用法: 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0。

CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。
expressionToSearch :用于被查找的字符串。
start_location:开始查找的位置,为空时默认从第一位开始查找。

 





















以上是关于SQL根据”,“分割字符串的主要内容,如果未能解决你的问题,请参考以下文章

SQL server字符串分割成表-表分割为字符串

SQL拆分逗号分隔的字符串

SQL拆分逗号分隔的字符串

mysql 字符串分割 和 动态执行拼接sql

SQL 字符串分割表函数

oracle sql 实现查询时把一字符串按逗号分割,返回分割后的份数?