Introduction
Lorsque vous devez stocker des valeurs numériques avec un grand nombre de chiffres décimaux, vous devez vous assurer d’utiliser le type de données approprié pour cette tâche. PostgreSQL fournit le type de données DOUBLE PRECISION
pour ce type de données numériques- le type de données offre 8 octets de stockage et peut contenir jusqu’à 15 chiffres décimaux. Dans cet article, nous aborderons le type de données PostgreSQL DOUBLE PRECISION et nous vous montrerons comment utiliser ce type de données dans les requêtes et les opérations d’insertion.
Prérequis
Pour suivre les exemples de ce tutoriel, vous devrez avoir PostgreSQL installé et en cours d’exécution. Vous pouvez utiliser la commande psql -V
dans votre terminal pour confirmer que PostgreSQL est installé et afficher son numéro de version. Assurez-vous que votre installation de PostgreSQL fonctionne avant de passer aux DOUBLE PRECISION
exemples de requêtes plus loin dans ce tutoriel.
Ouvrir la console de ligne de commande psql
Commençons par ouvrir le shell interactif de PostgreSQL. Nous utiliserons la commande présentée ci-dessous :
1
|
sudo -u postgres psql
|
Cette commande nous fournit les privilèges d’accès du postgres
superutilisateur.
Le type PostgreSQL DOUBLE PRECISION
Le type PostgreSQL DOUBLE PRECISION
est un type de données numériques ; il est également connu sous le nom alternatif float8
. Les valeurs de double précision sont traitées comme des valeurs à virgule flottante dans PostgreSQL. Cela signifie qu’un certain arrondi se produira si vous essayez de stocker une valeur avec « trop » de chiffres décimaux ; par exemple, si vous essayez de stocker le résultat de 2/3, il y aura un certain arrondi lorsque le 15e chiffre sera atteint. Dans la plupart des cas, il n’y a pas de conséquence réelle de cette approximation, mais il peut y avoir des circonstances où une précision absolue est requise et où le type de données NUMERIC
est le meilleur choix.
Type de données | DESCRIPTION | RANGE |
---|---|---|
Double précision, float, float8 | décimale, données numériques à virgule flottante, valeurs entières | 15 chiffres décimaux précision |
Créer une base de données et une table dans PostgreSQL
Dans cette section, nous allons créer une table a avec un type de données DOUBLE PRECISION
. Avant de faire cela, nous devrons créer une base de données dans PostgreSQL. Nous utiliserons la commande présentée ci-dessous :
1
|
CREATE DATABASE some_db;
|
NOTE : N’hésitez pas à utiliser le nom de base de données de votre choix.
-
Utilisez la commande
\l
pour afficher une liste de toutes les bases de données qui existent dans votre cluster de bases de données PostgreSQL. -
Utilisez la commande
\c
pour vous connecter à une base de données spécifique.
Une fois que vous avez créé votre base de données, vous pouvez créer une table dans celle-ci.
La syntaxe pour créer une table est présentée ci-dessous :
1
2 3 |
CREATE TABLE TABLE_NAME(
COL1 + DATA_TYPE + CONSTRAINT , COL2 + DATA_TYPE + CONSTRAINT ) ; |
Voici l’instruction SQL que nous allons utiliser pour créer notre table :
1
2 3 4 5 6 7 |
CREATE TABLE demo(
id SERIAL PRIMARY KEY, str_col VARCHAR(100), int_col INT NOT NULL, boolean_col BOOL, float_col DOUBLE PRECISION ) ; |
Pour visualiser les informations de la table, il suffit d’utiliser la commande \d demo;
. La sortie de cette commande ressemblera à ceci:
1
2 3 4 5 6 7 8 9 10 |
Table « public.demo »
Colonne | Type | Collation | Nullable | Défaut ————-+————————+———–+———-+———————————- id | integer | | not null | nextval(‘demo_id_seq’ ::regclass) str_col | caractère variable(100) | | int_col | entier | | non nul | boolean_col | booléen | | | float_col | double précision | | | Index : « demo_pkey » PRIMARY KEY, btree (id) |
Insérer quelques valeurs à l’intérieur de la colonne DOUBLE PRECISION
Nous pouvons utiliser une instruction INSERT
pour insérer des données dans notre DOUBLE PRECISION
colonne ainsi que dans les autres colonnes de la table :
1
2 3 4 |
INSERT INTO demo (str_col, int_col, boolean_col, float_col)
VALUES(‘ObjectRocket’, 1234, TRUE, 09673143120), (‘Examples’, 6688, FALSE, 09057046055), (‘Tutorials’, 9678, TRUE, 09129158355) ; |
Pour voir les valeurs dans le float_column
, utilisez la simple instruction SELECT
présentée ci-dessous :
1
|
SELECT id, float_col FROM demo;
|
La sortie ressemblera à ce qui suit :
1
2 3 4 5 |
id | float_col
—-+————. 1 | 9673143120 2 | 9057046055 3 | 9129158355 |
Conclusion
Si vous envisagez de stocker des valeurs numériques qui nécessitent une certaine précision ou longueur, le type de données DOUBLE PRECISION
peut être le bon choix pour vos besoins. Dans cet article, nous avons fourni une introduction au type PostgreSQL DOUBLE PRECISION et passé en revue quelques exemples d’insertion et de récupération de données de ce type. Grâce à ces exemples qui vous serviront de guide, vous serez prêt à utiliser le type de données DOUBLE PRECISION
dans votre propre base de données PostgreSQL.