0
我有一個表結構爲這樣的選擇所有的ID到臨時表:SQL根據逗號分隔的字符串
| ID | Name |
| 1 | Bob |
| 2 | Jim |
| 3 | Jane |
. .
. .
. .
我想編寫一個查詢將返回名字的所有ID的,我會正在通過。請注意,名稱將以逗號分隔的字符串形式傳遞。
我試着查詢:
@Names = 'Bob, Jane'
select ID into #Ids from Users where Name in ((select i.Item from dbo.Split(@Names, ',', 0) as i))
我希望得到是:
| ID |
| 1 |
| 3 |
而是我只是得到:
| ID |
| 1 |
我將不得不循環這個查詢,但是這樣做的最好方法是什麼?我正確地處理這個問題嗎?
這是什麼_select i.Item從dbo.Split之前刪除尾隨空格(0 @names, '')_回報? – jpw 2014-11-14 23:25:04
@jpw將字符串'Bob,Jane'作爲表返回。 Row [0] = Bob,Row [1] = Jane等 – KidBatman 2014-11-14 23:29:10
你可以嘗試刪除'((從io中選擇i.Item作爲dbo.Split(@Names,',',0)的雙括號)) ' – Florent 2014-11-14 23:43:55