的我有以下SQL:過濾一個ID列對某個範圍的值
SELECT ',' + LTRIM(RTRIM(CAST(vessel_is_id as CHAR(2)))) + ',' AS 'Id'
FROM Vessels
WHERE ',' + LTRIM(RTRIM(CAST(vessel_is_id as varCHAR(2)))) + ',' IN (',1,2,3,4,5,6,')
基本上,我要篩選的vessel_is_id
針對整數值的變量列表(其傳過來的varchar
進存儲過程)。現在,上面的SQL不起作用。我在表中有'vessel__is_id'爲1的行,但是它們沒有被返回。
有人可以爲我提出一個更好的方法嗎?或者,如果上面是OK
編輯:
的樣本數據
| vessel_is_id |
| ------------ |
| 1 |
| 2 |
| 5 |
| 3 |
| 1 |
| 1 |
所以我想返回的所有上述地方vessel_is_id
是可變濾波器即「1,3」 - 這應該返回4條記錄。
乾杯。 Jas。
請出示樣本數據,因爲它是存儲在數據庫和樣本預期的結果。 – HLGEM 2011-04-11 13:17:26
什麼版本的SQL? – SQLMason 2011-04-11 13:35:40
@dan - SQL Server 2008 R2 – 2011-04-11 14:51:48