sql >> Databáze >  >> RDS >> Mysql

MySQL MOD() je nefunkční:Je to nejlepší alternativa?

MySQL vám nedává falešný výsledek, prostě používá jinou implementaci modulu, než očekáváte. Bohužel se zdá, že termín modul byl definován poněkud nejednoznačně a jeho implementace se jazyk od jazyka liší. Z toho, co mohu říci na Wikipedii na Modulo , implementace MySQL používá zkrácené dělení :

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

Kde očekáváte implementaci pomocí podlahového dělení :

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

Vzhledem k tomu, jak jste implementovali své první řešení, řekl bych, že je to pravděpodobně nejlepší alternativa k Mod operátor.

Z toho, co jsem viděl (a to je velmi rychlá nevědecká analýza!), se zdá, že imperativnější programovací jazyky implementují zkrácené dělení a funkčnější matematické jazyky zřejmě používají podlahové dělení .




  1. Jak vytvořit databázi localhost pomocí mysql?

  2. vyberte pro aktualizaci pomocí odlišného mysql

  3. sql dotaz pro získání smazaných záznamů

  4. NodeJS mySQL Insert Blob