2012-03-21 37 views
1

我有一個表作爲查詢找到給定數量屬於在給定表中的任何範圍

Name(String) fromRange(int)  toRange(int) 
abc    15160    15180 
bhy    12510    12515 

現在當我輸入的號碼爲12514

我的數據庫的查詢返回 值,說明它屬於以下範圍 12510到12515或 它屬於下列BHY名稱

方案2

如果我輸入12530,它應該返回0,表明它不是任何範圍的一部分。

方案3 如果我進入15160.它應該返回下列範圍爲15160至15180

我想到了使用BETWEEN關鍵字,但與

沒有運氣我使用的是SQL服務器數據庫,任何人都可以幫我查詢

+0

你是什麼意思 「它應該返回0」 是什麼意思? 0行或recorset這一列與0在它? – 2012-03-21 05:48:22

+0

0意味着沒有結果或任何其他等效聲明我可以使用它.. – gmhk 2012-03-21 05:53:21

回答

1

這樣的事情?

DECLARE @input INT 
SELECT @input = 15160 

SELECT * 
FROM your_table 
WHERE 
    input BETWEEN fromRange AND toRange 
+0

@input將數字,我不能將它分配給名稱 – gmhk 2012-03-21 05:50:03

+0

請檢查更新。據我所知,你只需要這個簡單的查詢。只有我的問題是關於返回0. – 2012-03-21 05:53:43

+0

謝謝安德烈,它的工作 – gmhk 2012-03-21 06:00:35

0
select 
    name, 
    fromRange, 
    toRange, 
    12514 between fromRange and toRange as is_in_range 
from mean_data 

is_in_range1如果輸入在範圍內,否則0

相關問題