MySQL的搜索在范围

问题描述:

我有其中范围的值被存储在它们之间的空间的柱,例如: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

试试这个: -

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

希望这有助于你。