sql 分割字符串(1/2)

本文章来讲一下关于sql 分割字符串哦,如何进行sql字符串拆分操作了,在mmsql server中要分割就会要用到存储过程哦,其实的sql一般时实现不了的哈。

用临时表作为数组

create function f_split(@c varchar(2000),@split varchar(2))
returns @t table(col varchar(20))
as
begin

while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go

select * from dbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')

drop function f_split
col
--------------------
dfkd
dfdkdf
dfdkf
dffjk

(所影响的行数为 4 行)

二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。

create function get_strarraylength
(
@str varchar(1024), --要分割的字符串
@split varchar(10) --分隔符号
)
returns int
as
begin
declare @location int
declare @start int
declare @length int

set @str=ltrim(rtrim(@str))
set @location=charindex(@split,@str)
set @length=1
while @location<>0
begin
set @start=@location+1
set @location=charindex(@split,@str,@start)
set @length=@length+1
end
return @length
end
调用示例:select dbo.get_strarraylength('78,1,2,3',',')
返回值:4

首页 1 2 末页

时间: 2024-10-14 13:44:55

sql 分割字符串(1/2)的相关文章

SQL分割字符串详解

T-SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦.下边的函数,实现了象数组一样去处理字符串. 一,用临时表作为数组. create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0)

SQL Server实现split函数分割字符串功能及用法示例_MsSql

本文实例讲述了SQL Server实现split函数分割字符串功能及用法.分享给大家供大家参考,具体如下: /* 函数名称:f_SplitToNvarchar 作用:实现split功能的函数 更新记录: 设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里 */ CREATE FUNCTION [dbo].[f_SplitToNvarchar] ( @SourceSql NVARCHAR(MAX),--源分隔字符串 @StrSeprate VARCHAR

SQL Server实现split函数分割字符串功能及用法示例

本文实例讲述了SQL Server实现split函数分割字符串功能及用法.分享给大家供大家参考,具体如下: /* 函数名称:f_SplitToNvarchar 作用:实现split功能的函数 更新记录: 设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里 */ CREATE FUNCTION [dbo].[f_SplitToNvarchar] ( @SourceSql NVARCHAR(MAX),--源分隔字符串 @StrSeprate VARCHAR

SQL里类似SPLIT的分割字符串函数

函数|字符串 T-SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦.下边的函数,实现了象数组一样去处理字符串.一,用临时表作为数组create   function   f_split(@c   varchar(2000),@split   varchar(2))     returns   @t   table(col   varchar(20))     as       begin

sql server-sqlserver存储过程 分割字符串再组装

问题描述 sqlserver存储过程 分割字符串再组装 有三个字符串.比如.A="440,441,442,443",B="a,b,c,d" ,C="1,2,3,4".三个字符串里面的值是一一对应的. 在存储过程里面如何把这三个字符串分割之后然后组装成 440,a,1;441,b,2;442,c,3;443,d,4; 最好有一个规范的.多谢了. 解决方案 CREAT PROCEDURE [dbo].[Pro_STR] @A nvarchar(200

sql server-sqlserver截取分割字符串问题

问题描述 sqlserver截取分割字符串问题 我有两个表 表A表B 表A中有字段CategoryID,也是表B的主键,但是表A中CategoryID字段里有多个值,用","隔开了,想请教一下各位大神 怎样用表A 中的字段作为连接表B的条件图片说明](http://img.ask.csdn.net/upload/201508/31/1440998841_125141.png) 解决方案 SQLSERVER字符串截取SQLSERVER字符串截取SQLSERVER字符串截取 解决方案二:

SQL里类似SPLIT的分割字符串函数_MsSql

一,用临时表作为数组 复制代码 代码如下: create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,char

Python中用split()方法分割字符串的使用

  这篇文章主要介绍了在Python中用split()方法分割字符串的使用介绍,是Python入门中的基础知识,需要的朋友可以参考下 split()方法返回的字符串中的所有单词的列表,使用str作为分隔符(如果在未指定的所有空格分割),可选择限当前分割为数量num. 语法 以下是split()方法的语法: ? 1 str.split(str="", num=string.count(str)). 参数 str -- 这是任何分隔符,默认情况下是空格. num -- 这是要分割的行数.

增强J2ME的String能力——分割字符串(附源代码)

源代码|字符串 从JDK1.4以后,String类中新增了split方法来实现字符串的分割,但是在J2ME中却没有该方法(MIDP2.0中也没有实现),但是在实际使用过程中,有些时候的确要用到这种操作,这里将我以前实现的一段代码和大家共享,不足之处大家多提意见和建议: /** * 分割字符串,原理:检测字符串中的分割字符串,然后取子串 * @param original 需要分割的字符串 * @paran regex 分割字符串 * @return 分割后生成的字符串数组 */ private