2014-07-17 81 views
1

我試圖運行一個查詢來選擇兩個字符串之間的id。我正在使用的查詢是選擇值在SQL中的兩個字符串之間的值

select netid from ALL_GROUP_MEMBERS_VIEW where netid >'aa%' and netid < 'b%' and 
     gid='213' order by netid 

這顯然不工作,但我不知道如何獲得這些值。 Netid是個人的唯一標識符。

+1

莫非你發佈了一些樣本數據和你試圖得到的結果? – Mureinik

+0

將示例數據放在文本中,並且希望實現的結果可以讓其他人更好地幫助您。 –

+0

對不起,這是一個錯字。我打算髮布「無法發佈數據,因爲表中包含敏感信息」。 Mureinik的答案在下面解決了我的問題。一旦我拿出通配符,它​​就起作用了。 – jordaniac89

回答

1

%字符是爲LIKE操作通配符,並在字符串比較操作沒有任何功能(除了作爲文字等)。 如果你刪除它,你應該得到正確的行爲:

SELECT netid 
FROM  all_group_members_view 
WHERE netid > 'aa' AND netid < 'b' AND gid = '213' 
ORDER BY netid 

爲了使這個查詢更優雅,你可以用一個between運營商更換一對><運營商:

SELECT netid 
FROM  all_group_members_view 
WHERE netid BETWEEN 'aa' AND 'b' AND gid = '213' 
ORDER BY netid 
+0

謝謝。將通配符修正。 – jordaniac89

0

你可以試試這個:

select netid 
    from ALL_GROUP_MEMBERS_VIEW 
    where substr(netid,1,1) between 'A' and 'B' 
     and gid='213' 
    order by netid 
相關問題