我試圖運行一個查詢來選擇兩個字符串之間的id。我正在使用的查詢是選擇值在SQL中的兩個字符串之間的值
select netid from ALL_GROUP_MEMBERS_VIEW where netid >'aa%' and netid < 'b%' and
gid='213' order by netid
這顯然不工作,但我不知道如何獲得這些值。 Netid是個人的唯一標識符。
我試圖運行一個查詢來選擇兩個字符串之間的id。我正在使用的查詢是選擇值在SQL中的兩個字符串之間的值
select netid from ALL_GROUP_MEMBERS_VIEW where netid >'aa%' and netid < 'b%' and
gid='213' order by netid
這顯然不工作,但我不知道如何獲得這些值。 Netid是個人的唯一標識符。
的%
字符是爲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
謝謝。將通配符修正。 – jordaniac89
你可以試試這個:
select netid
from ALL_GROUP_MEMBERS_VIEW
where substr(netid,1,1) between 'A' and 'B'
and gid='213'
order by netid
莫非你發佈了一些樣本數據和你試圖得到的結果? – Mureinik
將示例數據放在文本中,並且希望實現的結果可以讓其他人更好地幫助您。 –
對不起,這是一個錯字。我打算髮布「無法發佈數據,因爲表中包含敏感信息」。 Mureinik的答案在下面解決了我的問題。一旦我拿出通配符,它就起作用了。 – jordaniac89