Om du ställer in en SQL-databas tabell med fält som anges som BIGINT stället INT , förbrukar detta mer utrymme , men ger dig ett enormt större intervall av tal som kan lagras . Men om du bestämmer dig för att du inte längre behöver det extra utrymme , eller om du behöver mata ut data till ett program som inte stöder BIGINTs och du känner dig bekväm trunkera några värden större än det maximala för INT , då du kanske vill CAST ner till INTs . Tyvärr är det många databaser, inklusive MySQL , inte direkt tillåter gjutning mellan olika typer av heltal , men det finns en lösning med hjälp av dynamisk gjutning . Instruktioner
1
Öppna din databas klient . Till exempel , att öppna MySQL , skriver du följande i din terminal :
mysql
2
Skriv följande för att skapa en enkel tabell fylld med bigint värden :
CREATE TABLE testT ( anInt BIGINT );
INSERT INTO testT ( anInt ) värden ( 123432 ) ;
INSERT INTO testT ( anInt ) värden ( 432.432.432 ) ;
INSERT INTO testT ( anInt ) värden ( 5344432423 ) ,
INSERT INTO testT ( anInt ) värden ( 432432432443243243243243232432 ) ,
3
Skapa funktion som kommer att utföra konverteringen :
skapar fungerar BigToInt ( n BIGINT ) returnerar INTEGER RETURN n;
som ni kan se , är funktionen mycket kort och enkel : det tar ett BIGINT och omedelbart tillbaka det som en vanlig heltal . Dock är en konsekvens av detta att vissa av de uppgifter som kommer att förkortas ner till det största möjliga värde för Int .