Sql 分割字符串

/*
	分割符为','
*/
declare @depid varchar(100)
declare @location int
declare @length int
--示例字符串
set @depid = '13434,32,34,567,12,9998,'
set @location = 1
set @length = 0
while @location <> 0
begin
	set @location = charindex(',', @depid, @location)
	if @location = 0
	begin
		break;
	end
	else
	begin
		--print @location
		--print @length
		print SUBSTRING(@depid,@location - (@location - 1 - @length),@location - 1 - @length)
		set @location = @location + 1
		set @length = (@location - 1)
	end
end 

运行结果

13434

32

34

567

12

9998

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-16 19:13:11

Sql 分割字符串的相关文章

MySQL 直接用SQL分割字符串到数组

承接上文:MySQL  中在不编写存储过程或函数的前提下,利用SQL 语句拆分一个字符串到数组 主要思路其实一致:够造序列,然后结合MySQL的SUBSTRING_INDEX 函数的特性分割字符串. SET @str ="a,b,c,d,e,f,g,h,i,j,k" ; SET @delim="," ; SET @str_length=length(@str)- length( REPLACE (@str,@delim,'') )+1 ; SELECT SUBSTR

SQL分割字符串函数

SQL创建函数 数据库名->可编程性->函数->表值函数 右键创建“多语句表值函数” CREATE FUNCTION [dbo].[fun_splitstr](@str VARCHAR(MAX)) RETURNS @temp TABLE(id INT) AS BEGIN DECLARE @ch AS VARCHAR(100) SET @str+=',' WHILE(@str<>'') BEGIN SET @ch = LEFT(@str,CHARINDEX(',',@str,1

sql分割字符串

DECLARE @str NVARCHAR(MAX); SET @str = 'aa|bb|cc|dd'; DECLARE @n NVARCHAR(100) SET @str += '|' WHILE LEN(@str) > 1 BEGIN SET @n = LEFT(@str, CHARINDEX('|', @str)) SET @str = RIGHT(@str, LEN(@str) - LEN(@n)) SET @n = REPLACE(@n, '|', '') SELECT @n END

sql分割字符串[转载]

DECLARE @str NVARCHAR(MAX); SET @str = 'aa|bb|cc|dd'; DECLARE @n NVARCHAR(100) SET @str += '|' WHILE LEN(@str) > 1 BEGIN SET @n = LEFT(@str, CHARINDEX('|', @str)) SET @str = RIGHT(@str, LEN(@str) - LEN(@n)) SET @n = REPLACE(@n, '|', '') SELECT @n END

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),'') e

SQL Server中自定义函数:用指定的分隔符号分割字符串

2014-11-13 微软SQL Server数据库中包含了很多内置的函数,入下图: 它们用于处理日期.数学.元数据.字符串等. 其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用. 但是对于 特殊字符串的处理,比如:ISBN号 '978-7-5007-7234-7',如果想获取第三个与第四个分割符号之间的数字, 那么SQL 内置函数无法直接做到.这时就需要自定义函数.下面自定义三个函数,用于处理特殊的字符串. 一.按指定符号分割字符串,返回分割后的元素个数 1

Sql Server分割字符串函数

-- Description: 分割字符串函数 -- SELECT * FROM dbo.Split('a,b,c,d,e,f,g',',') -- ============================================= CREATE FUNCTION [dbo].[Split] ( @Text VARCHAR(8000) , @Sign NVARCHAR(4000) ) RETURNS @tempTable TABLE ( ID INT IDENTITY(1, 1) PRI

SQL Server分割字符串

下面是创建了以","分割字符串的函数:  create   function   f_splitstr(@SourceSql   varchar(8000),@StrSeprate   varchar(100))      returns   @temp    table(F1   varchar(100))      as        begin      declare   @ch    as   varchar(100)      set   @[email protected

SQL 拼接字符串(字符串中有变量) 转载的

http://blog.csdn.net/sikaiyuan2008/article/details/7848926 sql server数据库存储sql SQL SERVER拼接字符串(字符串中有变量)  总是忘记规律,转载过来以帮助记忆. 一.拼接字符串(整个字符串不分割)步骤: 首先在字符串的前后加单引号: 字符串中的变量以'''[email protected]+'''在字符串中表示: 若在执行时存在类型转换错误,则应用相应的类型转换函数,对变量进行类型转换(如cast()函数). 示例