sql 字符串拆分??

来源:百度知道 编辑:UC知道 时间:2024/05/25 09:58:51
'1@2@3@4@5'这样的字符串怎样根据'@'将5个字符拆分开来。
存储过程怎样写?/
一楼的那个是用替换的啊.我需要把值一个一个提取出来啊.

OK!测试通过了。试试吧。觉得好就多加点分

exec decord_a '1a@b2@c3@e4@f5'

---这个存储过程可以提取包含任意个@字符的字符串,通过临时表输出,使用查询分析器或前台数据集都可以得到结果。

create procedure decord_A
@STR VARCHAR(100)
AS
declare @n int,@SN INT
SET @N=LEN(@STR)-LEN(REPLACE(@STR,'@',''))--提取字符@的个数
SET @SN=1
CREATE table #TEMP(SN INT,CSTR VARCHAR(100))
WHILE @SN<=@N
BEGIN
INSERT INTO #TEMP SELECT @SN,LEFT(@STR,CHARINDEX('@',@STR)-1)
SELECT @SN=@SN+1,@STR=SUBSTRING(@STR,CHARINDEX('@',@STR)+1,100)
END
INSERT INTO #TEMP SELECT @N+1,@STR
SELECT *FROM #TEMP order by sn
GO

http://zhidao.baidu.com/question/24368533.html?si=2
参考

关注