У меня есть таблица, содержащая имена полей как mgrs, значение, которое хранится в полях mgrs, похоже на '42SWC227821555', может содержать больше символов и может содержать строчные буквы. Итак, теперь я хочу искать записи между двумя mgrs, так как я могу это сделать? могу ли я преобразовать значение mgrs в integer первым, а затем использовать в промежутке?Как использовать буквенно-цифровые поля с предложением BETWEEN в Mysql?
0
A
ответ
2
Вместо BETWEEN
пункт использование STRCMP(expr1, expr2)
функции для операций сравнения строк:
WHERE STRCMP(mgrs, '42SWC227821555') >= 0 AND STRCMP(mgrs, '42SWC227821570') <= 0
0
Я приведу несколько шагов, а не полный ответ.
- Удалить все алфавиты от вас ценят, означает, что вы можете иметь 1 более строгой функцию столбца с использованием перечисленной на this link
- Примените фильтр на этой колонке.
0
Вы можете использовать строковые выражения с BETWEEN сравнения.
SELECT '42SWC2278215551' BETWEEN '42SWC227821555' AND '42SWd227821555'
-> 1
У вас есть фиксированный шаблон строк в ваших значениях? – AK47
Никакая строка не отличается и имеет разную длину. – jones