2014-09-24 188 views
0

我有其中範圍的值被存儲在它們之間的空間的柱,例如:MySQL的搜索在範圍

0 10003 [範圍介於0和10003]

0 1000003 [範圍介於0和1000003]

20 5000 [範圍20和

之間5000]我有一個搜索表單與兩個輸入:從和到,我需要選擇結果是在指定的範圍。

我知道SPLIT_STR功能,但有沒有更好的方法?我需要爲此任務創建一個WHERE子句。

+7

您需要規範化表格。誰設計這是一個白癡。 – Kermit 2014-09-24 13:57:45

+0

我知道,但我無法優化它,因爲數據來自第三方提供商。 – vitozev 2014-09-24 14:18:10

+0

請告訴您的第三方提供商瞭解如何使用數據庫。 – Kermit 2014-09-24 14:38:32

回答

0

試試這個: -

SELECT * 
FROM TABLE_NAME 
WHERE FROM = (SELECT SUBSTRING_INDEX(COLVALUE, ' ', 1)) 
AND TO = (SELECT SUBSTRING_INDEX(COLVALUE, ' ', -1)); 

希望這有助於你。