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

MySQL MOD() е счупен:Това ли е най-добрата алтернатива?

MySQL не ви дава фалшив резултат, той просто използва различна реализация на модул, отколкото очаквате. За съжаление терминът модул изглежда е дефиниран донякъде двусмислено и прилагането му варира от език на език. От това, което мога да кажа в Уикипедия на Modulo , внедряването на MySQL използва съкратено деление :

r = a - n * trunc(a / n)

Където очаквате внедряването да използва подово разделение :

r = a - n * floor(a / n)

Тъй като по този начин приложихте първото си решение, бих казал, че това е може би най-добрата алтернатива на Mod оператор.

От това, което видях (а това е много бърз ненаучен анализ!), изглежда, че по-императивните езици за програмиране прилагат съкратено разделение и по-функционалните математически езици изглежда използват деление на етажи .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL заявка - сравнете номерата на версиите

  2. Извършване на сравнение LIKE на поле INT

  3. Как да свържа R с MySQL или как да инсталирам RMySQL пакет?

  4. Липсва файл /var/lib/mysql/mysql.sock

  5. MySql - подреждане по име на месец