Come convertire bigint a Int

August 19

Se si imposta una tabella di database SQL con i campi indicati come BIGINT piuttosto che INT, questo consuma più spazio, ma vi offre una gamma molto più ampia di numeri che possono essere memorizzati. Tuttavia, se si decide di non più bisogno di quello spazio in più, o se è necessario l'output dei dati a un'applicazione che non supporta BIGINTs e ti trovi bene troncare i valori più grandi del massimo per INT, quindi si consiglia di CAST fino a INT. Purtroppo, molti database, tra cui MySQL, non permettono direttamente la fusione tra diversi tipi di numeri interi, ma c'è una soluzione utilizzando fusione dinamica.

istruzione

1 Aprire il client di database. Ad esempio, per aprire MySQL, digitare quanto segue nel vostro terminale:

mysql

2 Digitare quanto segue per creare una semplice tabella piena di valori BIGINT:

CREATE TABLE testt (anInt BIGINT);

I valori INSERT INTO testt (anInt) (123432);

I valori INSERT INTO testt (anInt) (432432432);

I valori INSERT INTO testt (anInt) (5344432423);

I valori INSERT INTO testt (anInt) (432432432443243243243243232432);

3 Creare la funzione che eseguirà la conversione:

CREATE FUNCTION BigToInt (n BIGINT) RETURNS INTEGER RITORNO n;

Come si può vedere, la funzione è molto breve e semplice: Ci vuole un BIGINT e restituisce come un intero ordinario immediatamente. Tuttavia, una conseguenza di ciò è che alcuni dei dati verrà troncato fino al massimo valore possibile per Int.