sql >> Database >  >> RDS >> Mysql

Wat te doen als je gehele getallen groter dan 20 cijfers nodig hebt op mysql?

Grote gehele getallen zijn niet echt beperkt tot 20 cijfers, ze zijn beperkt tot de getallen die kunnen worden uitgedrukt in 64 bits (bijvoorbeeld het getal 99,999,999,999,999,999,999 is geen geldig groot geheel getal ondanks dat het 20 cijfers lang is).

De reden dat je deze beperking hebt, is dat integers in native formaat relatief snel kunnen worden gemanipuleerd door de onderliggende hardware, terwijl tekstuele versies van een getal (meestal) cijfer voor cijfer moeten worden verwerkt.

Als u een getal wilt dat groter is dan het grootste 64-bits geheel getal zonder teken 18,446,744,073,709,551,615 dan moet je het opslaan als een varchar (of een ander tekstveld) en hoop dat je er niet veel wiskundige manipulaties aan hoeft te doen.

Als alternatief kunt u kijken naar getallen met drijvende komma die een groter bereik hebben maar minder nauwkeurig, of decimale getallen die u 65 cijfers voor een integrale waarde zouden moeten geven, met decimal(65,0) als het kolomtype.



  1. Hoe regexp in sqlite te gebruiken

  2. Hoe expressie in select-statement in Postgres te evalueren

  3. Hoe PL SQL-code in Oracle te verpakken?

  4. Aankomende verjaardagen zoeken met jOOQ