SQL сравнивает целые числа из столбца, вывод неправильный - PullRequest
0 голосов
/ 19 марта 2019

У меня есть таблица SQL на PHPMyAdmin с двумя столбцами, каждый из которых содержит целые числа (см. Изображение)

https://i.stack.imgur.com/Shcsl.png

Когда строка пуста, значениенулевой'.Если я выполню следующий запрос:

SELECT * FROM `18-3-2019` WHERE `COL 13` < `COL 14`

я получу следующий результат (левый столбец - COL 13, правый - COL 14):

https://i.stack.imgur.com/PgMmy.png

Проблема в том, что утверждение не всегда верно, например, выход 12 меньше 6. Я вижу соотношение между числами выше 10, присутствующими на выходе, так как они ниже, чем другие числа.Как мне это исправить?

1 Ответ

1 голос
/ 19 марта 2019

Вам нужно CAST значения строки (VARCHAR) в целые числа (INT / SIGNED).

SELECT '12' < '6'; -- 1

с использованием CAST(column AS SIGNED) для сравнения значений:

SELECT 12 < 6; -- 0
SELECT CAST('12' AS SIGNED) < CAST('6' AS SIGNED); -- 0

демо на dbfiddle.uk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...