sql server遍歷表不用游標和臨時表的方法
作者:佚名
在sql server中遍歷一個表,顯示出來,不用游標和臨時表可以嗎?答案是肯定的。下文就列舉了這樣的一個例子,供您參考。
sql server遍歷表一般都需要用到游標和臨時表,不過下面介紹的例子卻不用游標和臨時表就可以實現sql server遍歷表,讓我們一起來了解一下.
表結構如下
id name
---------------------------------------
10001 sky blue water
10002 book apple shirt
10005 cup yellow org
61245 box phone paper
- Create table T(id int,name varchar(50))
- insert into T select 10001, 'sky blue water'
- insert into T select 10002 , 'book apple shirt'
- insert into T select 10005 , 'cup yellow org'
- insert into T select 61245 , 'box phone paper'
- GO
- SELECT
- id,
- SUBSTRING(A.name,B.number,CHARINDEX(' ',A.name+' ',B.number)-B.number) AS [name]
- FROM T as A
- JOIN master.dbo.spt_values AS B
- ON B.type='p' AND B.number BETWEEN 1 AND LEN(A.name)
- AND SUBSTRING(' '+A.name,B.number,1)=' '
- /*
- id name
- ----------- --------------------------------------------------
- 10001 sky
- 10001 blue
- 10001 water
- 10002 book
- 10002 apple
- 10002 shirt
- 10005 cup
- 10005 yellow
- 10005 org
- 61245 box
- 61245 phone
- 61245 paper
- */
- Drop table T
以上就是sql server遍歷表不用游標和臨時表的方法介紹。
【編輯推薦】
責任編輯:段燃
來源:
CSDN論壇