2014-02-20 31 views
0

我想獲取表中列的特定範圍的數據。但數據是varchar類型的。從列中獲取具有值範圍的數據

假設我有表的學生,一列是ID,並在ID值是AB12346854,我需要找到ID AB12346854的範圍內的所有學生DE12548847我嘗試使用查詢作爲

select * from students where id>='AB12346854' and id<='DE12548847'. 

我與值id爲空越來越行(ID是不是主鍵)

+0

確定你變得空了?也許你得到空的字符串。 – Turophile

+0

是得到空值。還有一件事我錯過了,有沒有什麼辦法可以獲得數據,如果我收到ID爲DE12548847和AB12346854(即獲取DE12548847和AB12346854之間的數據) – user956021

+0

您嘗試的內容大多是合理的。也許如果你發佈確切的SQL,我們可以找到這個錯誤。此外,您可以使用'BETWEEN'進行這種類型的測試。請參閱http://sqlfiddle.com/#!2/735ad/1 – Turophile

回答

1

您可以使用此:

select * from students where id BETWEEN 'AB12346854' AND 'DE12548847'

它也適用於字符串。

0

SELECT * FROM測試,其中ID> = 'AA0000001' 和ID < = 'DD0000004'

TIS工作完全沒有問題......甚至如果u已經空值的ID列