2013-06-16 5 views
0

У меня есть проект в SQLite, который содержит таблицуSqlLite запроса диапазона на основе значения столбца

Префикс таблицы

prefix id 
T6A-T6Z 1 
YAA-YAZ 2 
ZAA-ZAZ 3 
7RA-7RZ 4 
7TA-7YZ 5 

Например, у меня есть значение «T6C», который попадает в область, из первая запись. Мне нужен идентификатор этой записи. Я рассматриваю REGEXP как возможное решение, но то, что я прочитал, мне нужна функция обратного вызова. Это приложение разрабатывается в Adobe Air, и я не смог найти способ реализовать обратный вызов. Я также пробовал подстановочный знак «_», но придумал это.

Любая помощь будет отличной.

ответ

0

Это отвратительный формат данных. Вы должны иметь начальные и конечные значения в отдельных полях. Ну что ж. Вы можете сделать это с помощью строковых манипуляций:

select * 
from prefix 
where 'T6C' between substr(prefix, 1, 3) and substr(prefix, -3, 3) 
+0

Хо, я согласен, но это то, с чем мне давали работать. однако я мог бы манипулировать им, поэтому у меня есть две колонки. Сначала я попробую попробовать, тогда я думаю, что я разделил столбцы, как вы предлагаете. – Mike

+0

эта работа и спасибо! – Mike

+0

@Mike. , , Рад, что смог помочь. –

0

Если диапазоны префиксов следовали простому шаблону вашего первых четырех (1-4) Пример идентификаторов, это было бы простым, как запрос, используя первые два символа вашей приставки (диапазон) начало:

SELECT id FROM table WHERE prefix LIKE 'T6%';

Но ваш пятый (5) примерный идентификатор имеет префиксный диапазон, который простирается за пределы ожидаемого соглашения о конце диапазона -7TZ, которое представлены другими четырьмя. Если у вас есть управление дизайном диапазонов префиксов, LIKE - еще одна альтернатива.

Смежные вопросы