Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Query изглежда не дава очаквания

Получавате този ред, защото сравнявате низове. "500" >= "60" е вярно, поради реда на ASCII знаците.

Трябва да промените типа на minutes колона или анализирайте стойността при филтриране на данни. Напр.

SELECT *, CONVERT(minutes,UNSIGNED INTEGER) AS minutes_int
...
WHERE
...
AND `minutes_int` >= 600
...

Както може да опитате директно да сравните стойността на низа с целочислената стойност, напр.

AND `minutes` >= 600

като премахнете запетаите, но ви предлагам да помислите за промяна на формата на колоната, ако е възможно, тъй като представяте минутите като varchar(11) не е правилно и също така ще ви накара да заемате много място без причина.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отчитане на грешки в подготвените изявления на MySQLi

  2. Открийте дали стойността е число в MySQL

  3. CakePHP 3 НЕ може да се свърже с базата данни поради липсващо разширение на PHP

  4. Заявка за избор на верига Mysql

  5. DataTable с Ajax не работи добре след употреба serverSide:true