日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > Sqlserver > SQL SERVER 2008使用CTE轉換string到Table

SQL SERVER 2008使用CTE轉換string到Table

來源:程序員人生   發布時間:2014-01-14 11:46:51 閱讀次數:3627次

多少次我們會面臨這樣的問題:我們需要把一組ID的Array做為參數傳給存儲過程.在存儲過程中能轉換成Table后我們會更喜歡使用這種數據.

這里我們使用CTE來實現,例如我們有這樣的字符串:'1,2,4,8',想轉成這個table:

4295

T-sql:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Amit Gaur
-- Create date: July 25th 2008
-- Description: Convert a string to a table
-- =============================================
CREATE FUNCTION [dbo].[strToTable]
(
@array varchar(max),
@del char(1)
)
RETURNS
@listTable TABLE
(
item int
)
AS
BEGIN

WITH rep (item,list) AS
(
SELECT SUBSTRING(@array,1,CHARINDEX(@del,@array,1) - 1) as item,
SUBSTRING(@array,CHARINDEX(@del,@array,1) + 1, LEN(@array)) + @del list

UNION ALL

SELECT SUBSTRING(list,1,CHARINDEX(@del,list,1) - 1) as item,
SUBSTRING(list,CHARINDEX(@del,list,1) + 1, LEN(list)) list
FROM rep
WHERE LEN(rep.list) > 0
)
INSERT INTO @listTable
SELECT item FROM rep

RETURN
END

GO

如何調用呢:

1: DECLARE @array VARCHAR(max)
2: SET @array = '1,2,4,8'
3: SELECT item FROM strToTable(@array,',')

完了,實際以前你可以用function遞歸來實現,這里我們使用CTE.希望這篇POST對您有幫助.

轉自:http://wintersun.cnblogs.com

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 高清国产一区二区三区 | 懂色一区二区三区在线播放 | 亚洲一二三区在线 | 精品午夜久久 | 日本一区免费 | 日韩综合一区 | 亚洲一区免费观看 | 麻豆精品国产 | 亚洲一区二区视频在线观看 | 成人激情视频 | 人人澡视频 | 欧美福利网| 欧美一区二区三区免费 | 亚洲欧洲成人精品av97 | 国产在线播放一区二区 | 免费在线观看av片 | 色婷婷com | 国产精品久久久久婷婷二区次 | 国产一区精品视频 | 精久久久久久 | 久久成人av | 麻豆视频观看 | 日韩精品91 | 国产精品日本一区二区不卡视频 | 免费久久久久久久 | 久久福利国产 | 在线免费观看黄色 | 国产成人精品999在线观看 | 99久久精品毛片免费播放高清 | 91欧美一区二区三区综合在线 | 欧美精品在线一区二区三区 | 国产免费黄色片 | 日韩黄色影视 | 成人丁香| 一区二区视频 | 久久久久97 | 精品国产1区 | 久久国产精品免费视频 | 中文精品一区 | 狠狠色狠狠色综合人人 | 欧美一区二区三区久久精品 |