Types de données monétaires postgresql

Types de données monétaires postgresql

Le type de données monétaires est utilisé pour stocker les données de devise dans le tableau de la base de données PostgreSQL. Le Type de données monétaires de PostgreSQL est utilisé pour stocker les données de devise avec une précision fractionnaire fixe. Le Paramètre IC_Monetary est utilisé pour déterminer la précision fractionnaire. La taille du type de données monétaires est de 8 octets et la plage de ce type de données est de -92233720368547758.08 à +92233720368547758.07. Les types de données entiers et flottants peuvent également être utilisés pour stocker les valeurs de devise dans le tableau de la base de données PostgreSQL. La sortie de ce type de données dépend de la valeur des paramètres régionaux. Différentes façons de définir et d'utiliser des types de données monétaires dans la base de données PostgreSQL ont été présentées dans ce tutoriel.

Conditions préalables:

Vous devez installer la dernière version des packages PostgreSQL sur le système d'exploitation Linux avant d'exécuter les instructions SQL affichées dans ce tutoriel. Exécutez les commandes suivantes pour installer et démarrer le postgresql:

$ sudo apt-get -y installer postgresql postgresql-contrib
$ sudo systemctl start postgresql.service

Exécutez la commande suivante pour vous connecter à PostgreSQL avec l'autorisation racine:

$ sudo -u postgres psql

Utilisation du type de données monétaires:

Avant de créer une table avec le type de données booléen, vous devez créer une base de données postgresql. Donc, exécutez la commande suivante pour créer une base de données nommée 'testdb':

# Créer une base de données testdb;

La sortie suivante apparaîtra après avoir créé la base de données:

Créer une table nommée 'produits_1'Dans la base de données actuelle avec trois champs. Le premier nom de champ est Identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est Nom et le type de données est Varchar (30). Le troisième nom de champ est le prix et le type de données est ARGENT.

# Créer des produits de table_1 (
Clé primaire en série ID,
Nom Varchar (30),
Prix ​​de l'argent);

La sortie suivante apparaîtra si le tableau est créé avec succès:

Exécutez les trois requêtes d'insertion suivantes qui inséreront trois valeurs différentes dans le domaine du type de données monétaires:

# Insérer dans Products_1 (nom, prix) Valeurs ('sac', 55);
# Insérer dans Products_1 (nom, prix) Valeurs ('Pen', 2.50);
# Insérer dans Products_1 (nom, prix) Valeurs ('Couleur de l'eau', 15.895634);

La sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus:

Exécutez la requête de sélection suivante pour lire tous les enregistrements du produits_1 tableau:

# Select * from products_1;

La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus. La sortie montre le symbole de devise par défaut dans le domaine du type de données monétaires.

Utilisation du type de données numériques:

Le type de données numérique est un autre type de données pour stocker la valeur des devises dans le tableau PostgreSQL. Créer une table nommée 'Products_2'Dans la base de données actuelle avec trois champs. Le premier nom de champ est Identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est Nom et le type de données est Varchar (30). Le troisième nom de champ est le prix et le type de données est Numérique (5, 3).

# Créer des produits de table_2 (
Clé primaire en série ID,
Nom Varchar (30),
Prix ​​numérique (5, 3));

La sortie suivante apparaîtra si le tableau est créé avec succès:

Exécutez les requêtes d'insertion suivantes qui inséreront deux enregistrements dans le Products_2 tableau:

# Insérer dans Products_2 (nom, prix) Valeurs («crayon», 2.999);
# Insérer dans Products_2 (nom, prix) Valeurs ('Couleur Crayon', 10.999999);

La sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus:

Le type de données numérique génère une erreur si la valeur dépasse la valeur de précision du type de données. La requête d'insertion suivante générera une erreur:

# Insérer dans Products_2 (nom, prix) Valeurs ('scanner', 1000.999999);

La sortie suivante montre l'erreur générée par le champ numérique:

Tout symbole de devise peut être ajouté avant la valeur du champ numérique dans la requête sélectionnée. Ainsi, il est préférable d'utiliser le type de données numériques que le type de données monétaires pour stocker les données de devise. Exécutez la requête de sélection suivante qui lira toutes les valeurs du Products_2 table en ajoutant '$' avant le prix champ:

# SELECT ID, nom, '$' || Prix ​​comme prix de Products_2;

La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus:

Utilisation du type de données flottantes:

Le type de données flottantes est une autre option pour stocker les données de devise. Mais le type de données de flotteur n'est pas recommandé à cet effet car les valeurs sont stockées comme une approximation de ce type de données. L'utilisation de ce type de données a été montrée ici pour stocker la valeur de la devise.

Créer une table nommée 'Products_3' Dans la base de données actuelle avec trois champs. Le premier nom de champ est Identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est Nom et le type de données est Varchar (30). Le troisième nom de champ est Prix et le type de données est FLOTTER.

# Créer des produits de table_3 (
Clé primaire en série ID,
Nom Varchar (30),
Float de prix);

La sortie suivante apparaîtra si le tableau est créé avec succès:

Exécutez les requêtes d'insertion suivantes qui inséreront deux valeurs dans le champ du type de données de flotteur:

# INSERT INTO PRODUCTS_3 (nom, prix) Valeurs ('HP Imprimante', 150.99);
# INSERT INTO PRODUCTS_3 (nom, prix) Valeurs ('Samsung Imprimante', 180.4578);
# INSERT INTO PRODUCTS_3 (nom, prix) Valeurs ('Dell Imprimante', 320.56);

La sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus.

Exécutez la requête de sélection suivante pour lire tous les enregistrements du produits_3 tableau:

# SELECT ID, nom, '$' || Prix ​​en tant que prix de Products_3;

La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus:

Conclusion:

Les utilisations de différents types de données pour stocker les données de devise dans la table PostgreSQL ont été présentées dans ce tutoriel en utilisant plusieurs tables. Les types de données d'argent, numériques et flottants ont été utilisés pour stocker les données de la devise et les avantages et les inconvénients de chaque type de données ont été expliqués ici.