Hvis du setter opp en SQL database tabell med felt som er oppført som BIGINT snarere enn INT , bruker dette mer plass, men gir deg en langt større spekter av tall som kan lagres . Men hvis du bestemmer deg for at du ikke lenger trenger den ekstra plassen , eller hvis du trenger å sende dataene til et program som ikke støtter BIGINTs og føler deg komfortabel avkorting noen verdier større enn maksimum for INT , så vil du kanskje å CAST ned til ints . Dessverre er det mange databaser , inkludert MySQL , ikke direkte lar avstøpning mellom ulike typer heltall , men det er en midlertidig løsning ved hjelp av dynamisk casting. Instruksjoner
en
Åpne din database klient. For eksempel vil åpne MySQL , skriver du inn følgende i terminalen : en
mysql
2
Skriv inn følgende for å lage en enkel bord fylt med BIGINT verdier : en
CREATE TABLE testT ( anInt BIGINT ) ;
INSERT INTO testT ( anInt ) verdier ( 123432 ) ;
INSERT INTO testT ( anInt ) verdier ( 432432432 ) ;
INSERT INTO testT ( anInt ) verdier ( 5344432423 ) ,
INSERT INTO testT ( anInt ) verdier ( 432432432443243243243243232432 ) ;
3
Lag funksjonen som skal utføre konvertering:
CREATE FUNCTION BigToInt (n BIGINT ) returnerer iNTEGER RETURN n;
p Som du kan se, er funksjonen veldig kort og enkel : Det tar BIGINT og umiddelbart returnerer den som en vanlig heltall . Det er imidlertid en konsekvens av dette at noen av dataene vil bli avkortet ned til størst mulig verdi for Innv.