存儲過程_把字符串轉化爲結果集

本章將講解,Sybase下如何把含逗號字符串轉化爲結果集。spa

示例以下:code

把含有逗號的字符串,拆開放入結果集。blog

--聲明變量 @OLD 保存待處理 字符串  
DECLARE @OLD VARCHAR(100)
--把待處理字符串賦值與變量
SET @OLD ='1,2,9,12,106,1489,47863,987654,3211566,6,8' 

--建立臨時表,保存轉化後的數據    
  CREATE TABLE #TMPTABLE ( 
      NEW  INT  NULL
  ) 
--循環處理字符  
  WHILE(datalength(@OLD)>0) 
    BEGIN 
        IF(charindex(',', @OLD)>0)
            BEGIN
                --把逗號前第一個數字保存臨時表
                INSERT INTO #TMPTABLE VALUES (convert(int, substring(@OLD, 1, charindex(',', @OLD) - 1)))
                --把剩餘的繼續走循環
                SET @OLD=substring(@OLD,charindex(',', @OLD) + 1,datalength(@OLD))
            END
        ELSE
            BEGIN
                INSERT INTO #TMPTABLE VALUES (convert(int,@OLD))
                --把@OLD賦值爲空,結束循環
                SET @OLD=NULL
            END               
    END 
--查詢臨時表     
SELECT NEW FROM #TMPTABLE
--刪除臨時表
DROP TABLE #TMPTABLE

當用到臨時表時,能夠直接把臨時表當作物理表同樣使用。字符串

overstring

相關文章
相關標籤/搜索