Выполните операцию сравнения (<=,> =) над алфавитно-цифровой строкой в MySQL

0

У меня таблица с именем "Тест" содержит следующие данные

Name

A-00011
A-00012
A-00102
A-00202

и я хочу получить все записи, которые '<150'.

поэтому любой может помочь, как выполнить операцию <= и > = в буквенно-цифровой строке в mysql через запрос.

Теги:

2 ответа

1
Лучший ответ

Это можно сделать путем подстановки, чтобы удалить первые два символа, а затем передать в unsigned int:

SELECT CAST(SUBSTRING("A-00012", 3) AS UNSIGNED)

Ваш запрос будет выглядеть примерно так:

SELECT * FROM Test WHERE CAST(SUBSTRING(myColumn, 3) AS UNSIGNED) <= 150
  • 0
    спасибо @emilpalsson. это работает для меня.
0
SELECT *
       FROM test
       WHERE name < 'A-00150';

должно сработать. (Предполагая, что вы имеете в виду под "<150" и что все имена следуют этому шаблону.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню