我的查詢dosn't在Oracle SQL開發者中爲此查詢提取任何數據可以有人幫忙嗎?過濾器數據不以oracle中的字母列表開頭
SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';
我的查詢dosn't在Oracle SQL開發者中爲此查詢提取任何數據可以有人幫忙嗎?過濾器數據不以oracle中的字母列表開頭
SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';
既可以使用正則表達式(宜避免對數據的大小合適,因爲它趨向於比所述替代解決方案相當慢使用簡單like
其甚至可以是Sargable有時)或使用多個條件。
使用多個條件:
SELECT * FROM Customers
WHERE City NOT LIKE 'b%'
and city not like 's%'
and city not like 'p%';
或使用regexp_like
:
select *
from customers
where not regexp_like(city, '^[bsp]');
使用[REGEXP_LIKE功能](https://docs.oracle.com/cd/B12037_01/server.101/b10759 /conditions018.htm)而不是'like' – krokodilko
請注意標籤堆棧溢出添加到您的帖子。在這種情況下,我將編輯以刪除明顯不合適的「MySQL」標籤。 – mathguy
@krokodilko - 如果性能很重要,''like'會更好,因爲它可以使用'city'上的索引。見Gurwinder Singh的答案如下。 – mathguy