Comment convertir Int à smallInt

Dans une particulièrement grande base de données, vous pouvez économiser de l'espace considérable en convertissant les nombres entiers les plus petites smallints. Cependant, vous devez être certain que toutes les données existantes et potentielles tiennent dans -32768 et 32767 fournies par le type de données smallint.

Instructions

1 Ouvrez votre client de base de données. Si vous utilisez MySQL, par exemple, vous pouvez le faire en ouvrant le terminal et en tapant:

mysql

2 Tapez la commande suivante pour créer une table exemple:

CREATE TABLE testt (anInt Integer);

3 Tapez la commande suivante pour insérer des données dans la table:

INSERT INTO testt (anInt) valeurs (123);

INSERT INTO testt (anInt) valeurs (432);

INSERT INTO testt (anInt) valeurs (5344);

INSERT INTO testt (anInt) valeurs (4324324324);

4 Créer la fonction de conversion:

CREATE FUNCTION convToSmallInt (n ENTIER) RETURNS SMALLINT RETURN n;

5 Appel de la fonction:

d SELECT (anInt) le plus faible de testt;

Avis dans la sortie que les trois premières valeurs de la base de données sont fidèlement représentés, mais la dernière valeur est en dehors de la gamme de SmallInt, de sorte qu'il est tronqué vers le bas à 32767.