我有兩列的表。一個是開始,另一個是結束。 如果我給出任何數字,它必須選擇表中所有匹配的行。 例子:如何在oracle sql中取數範圍?
start | End 100 | 200 100 | 500 1 | 345 200 | 400
如果我給123應該挑:
100 | 200 100 | 500 1 | 345
如何編寫查詢呢?
我有兩列的表。一個是開始,另一個是結束。 如果我給出任何數字,它必須選擇表中所有匹配的行。 例子:如何在oracle sql中取數範圍?
start | End 100 | 200 100 | 500 1 | 345 200 | 400
如果我給123應該挑:
100 | 200 100 | 500 1 | 345
如何編寫查詢呢?
包容性選擇:
SELECT * FROM table
WHERE @value BETWEEN start AND end
獨家選擇:
SELECT * FROM table
WHERE @value > start AND value < end
但我沒有開始和結束。我只有號碼。 – 2014-09-01 10:25:33
我該如何理解這一點:「我有兩列的表,一列是開始,另一列是結束。」 – Bulat 2014-09-01 10:29:06
我不同意這個任務,明白你的困惑:
with t(strt, En) as (
select 100, 200 from dual union all
select 100, 500 from dual union all
select 1, 345 from dual union all
select 200, 400 from dual
)
select *
from t
where 123 between strt and en
STRT EN
-----------
100 200
100 500
1 345
我已刪除了MySQL的標籤,因爲你說這是一個Oracle問題。 – Arth 2014-09-01 10:23:37
向我們顯示一個輸入 – zaratustra 2014-09-01 10:46:37