Dans cette section, nous allons comprendre le fonctionnement du Type de données PostgreSQL Intervalle, et nous voyons aussi exemples de la Type de données d'intervalle. Et surtout utilisé Intervalle les fonctions , Par exemple, MAINTENANT(), TO_CHAR(), EXTRACT(), justifier_days(), justifier_heures(), justifier_interval(). Le Entrée et sortie format pour les valeurs d'intervalle PostgreSQL.
Qu’est-ce que le type de données d’intervalle PostgreSQL ?
Dans PostgreSQL, le Intervalle est un autre type de type de données utilisé pour stocker et déployer Time dans années, mois, jours, heures, minutes, secondes, etc. Et le mois et jours les valeurs sont valeurs entières , tandis que le champ de la seconde peut être le valeurs des fractions.
La valeur du type de données d'intervalle PostgreSQL implique Stockage de 16 octets taille, ce qui permet de stocker une période avec la plage acceptable de - 178000000 d'années à 178000000 années.
trouver des numéros bloqués sur Android
Remarque : Le nombre de chiffres de fraction pris dans le deuxième champ est appelé précision p.
Syntaxe du type de données PostgreSQL Interval
La syntaxe du type de données PostgreSQL Interval est la suivante :
@ interval [ fields ] [ (p) ]
Dans la syntaxe ci-dessus, nous avons les paramètres suivants :
Paramètre | Description |
---|---|
des champs | Le paramètre field est utilisé pour afficher l’heure. |
p | P est utilisé pour afficher la valeur de précision. |
@ | Nous pouvons ignorer le paramètre @ car il s'agit d'un paramètre facultatif. |
Voyons un exemple pour mieux comprendre comment nous pouvons écrire les valeurs d'intervalle avec @ paramètre et sans @ paramètre :
@interval '6 months before'; @interval '2 hours 30 minutes';
OU
interval '6 months before'; interval '2 hours 30 minutes';
Remarque : Nous pouvons utiliser les deux déclarations ci-dessus car elles se correspondent. De plus, une valeur d'intervalle peut avoir une valeur de précision facultative p avec la plage autorisée allant de 0 à 6.
Exemple de type de données PostgreSQL Intervalle
Voyons un exemple d'exemple pour comprendre comment le Type de données PostgreSQL Intervalle travaux.
Dans l'exemple ci-dessous, nous allons essayer de trouver l'heure de 2 heures 30 minutes avant, au heure actuelle de l'année dernière ; nous utiliserons les commandes suivantes :
SELECT now(), now() - INTERVAL '6 months 2 hours 30 minutes' AS '2 hours 30 minutes before last year';
Sortir
Après avoir exécuté la commande ci-dessus, nous obtiendrons la sortie ci-dessous, qui affiche 2 heures 30 minutes avant l'année dernière :
Nous avons vu le principal exemple de type de données d'intervalle et en comprenons le fonctionnement. Maintenant, nous allons voir le format d'entrée et de sortie de valeurs d'intervalle.
Dans un premier temps, nous comprendrons le Valeur d'intervalle PostgreSQL pour le format d'entrée :
Format d'entrée d'intervalle PostgreSQL
Dans PostgreSQL, nous avons ce qui suit syntaxe verbeuse, ce qui nous aide à écrire les valeurs d'intervalle :
quantity unit [quantity unit...] [direction]
Nous avons les paramètres ci-dessous, qui sont utilisés dans la syntaxe ci-dessus :
Paramètre | Description |
---|---|
quantité | UN quantité est un nombre, qui accepte également des signes comme + ou - |
unité | Le unité peut être n'importe lequel millénaire, siècle, décennie, année, mois, semaine, jour, heure, minute, seconde, milliseconde, microseconde, ou l'abréviation peut être la suivante y, m, d, etc. et les formes plurielles peuvent être les mois, jours , etc. |
direction | Le direction le paramètre peut être il y a ou la chaîne vide. |
Remarque : La syntaxe ci-dessus est également utilisée pour le format de sortie d'intervalle et est connue sous le nom de postgres_verbose.
Dans l'exemple ci-dessous, nous afficherons quelques valeurs d'intervalle où nous utilisons le syntaxe verbeuse :
INTERVAL '1 year 5 months 5 days'; INTERVAL '1 weeks ago';
Le format d'intervalle ISO 8601
Outre la syntaxe détaillée ci-dessus, pour écrire les valeurs d'intervalle à l'aide de ISO 8601-temps intervalles, PostgreSQL nous propose les deux manières suivantes :
Le format des désignateurs pour la norme ISO 8601 est le suivant :
P quantity unit [ quantity unit ...] [ T [ quantity unit ...]]
Dans le format ci-dessus, la valeur d'intervalle essentielle commence par le lettre P , et le lettre T est utilisé pour définir le unité d'heure .
Le tableau ci-dessous affiche les Intervalle ISO 8601 abréviations des unités :
Abréviation | Description |
---|---|
ET | Années |
M | Mois (pour la partie date) |
DANS | Semaines |
D | Jours |
H | Heures |
M | Minutes (pour la partie horaire) |
S | Secondes |
Remarque : Le M peut représenter des mois ou des minutes selon qu'il apparaît avant ou après la lettre T.
Voyons un exemple de Désignateurs ISO 8601 format pour notre meilleure compréhension :
Le Format des désignateurs ISO 8601 peut être écrit pour l'intervalle de 5 ans 4 mois 3 jours 2 heures 1 minutes 1 seconde :
P5Y4M3DT2H1M1S
Et la forme alternative de OIN 8601 est comme indiqué ci-dessous :
P [ years-months-days ] [ T hours:minutes:seconds ]
Et cela commence aussi par le la lettre P et la lettre T, qui divise le heure et date parties de la valeur de l’intervalle.
Par exemple, le Forme alternative ISO 8601 peut être écrit pour 5 ans 4 mois 3 jours 2 heures 1 minute 1 seconde, comme indiqué ci-dessous:
P0005-04-03T02:01:01
Format de sortie d'intervalle PostgreSQL
Le format de sortie d'intervalle PostgreSQL des valeurs d'intervalle peut être défini à l'aide de l'outil ENSEMBLE style d'intervalle commande, comme nous pouvons le voir dans l’exemple ci-dessous :
SET intervalstyle = 'iso_8601';
PostgreSQL contient quatre formats de sortie différents, tels que :
Remarque : Pour formater les valeurs d'intervalle, PostgreSQL utilise le style Postgres par défaut.
Voyons un exemple de notre meilleure compréhension :
La commande ci-dessous est utilisée pour afficher le 5 ans 4 mois 3 jours 2 heures 1 minute 1 seconde dans les quatre formats de sortie différents :
Pour le format de sortie ISO_8601
Dans la commande ci-dessous, nous allons ENSEMBLE le style d'intervalle comme iso_8601 pour la valeur d'intervalle mentionnée ci-dessus :
SET intervalstyle = 'iso_8601'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minute 1 second';
Sortir
Après avoir exécuté la commande ci-dessus, nous obtiendrons le résultat ci-dessous, qui représente le iso_8601 format de sortie d'intervalle :
Pour le format de sortie postgres_verbose
Dans la commande ci-dessous, nous allons ENSEMBLE le style d'intervalle comme postgres_verbose pour la valeur d'intervalle mentionnée ci-dessus :
SET intervalstyle = 'postgres_verbose'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Sortir
Nous obtiendrons le résultat ci-dessous après avoir implémenté la commande ci-dessus, qui montre le postgres_verbose format de sortie d'intervalle :
centos contre redhat
Pour le format de sortie Postgres
Dans la commande ci-dessous, nous allons ENSEMBLE le style d'intervalle comme PostgreSQL pour la valeur d'intervalle mentionnée ci-dessus :
SET intervalstyle = 'postgres'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Sortir
Nous obtiendrons le résultat ci-dessous après avoir exécuté avec succès la commande ci-dessus, qui affiche le PostgreSQL format de sortie d'intervalle :
Pour le format de sortie SQL_standard
Dans la commande ci-dessous, nous allons ENSEMBLE le style d'intervalle comme sql_standard pour la valeur d'intervalle mentionnée ci-dessus :
SET intervalstyle = 'sql_standard'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Sortir
Nous obtiendrons le résultat ci-dessous après avoir exécuté avec succès la commande ci-dessus, qui représente le sql_standard format de sortie d'intervalle :
Modification de l'intervalle PostgreSQL en chaîne
Nous pouvons utiliser le À_CHAR() fonction pour modifier une valeur d’intervalle en chaîne.
La syntaxe pour modifier l'intervalle PostgreSQL en chaîne
TO_CHAR(interval,format)
Le Fonction TO_CHAR() prend le première déclaration comme une valeur d'intervalle et un autre comme format et récupère une chaîne, affichant l'intervalle dans le format particulier.
Dans l'exemple ci-dessous, nous utiliserons la fonction TO_CHAR(), qui convertit l'intervalle PostgreSQL en valeur de chaîne :
SELECT TO_CHAR( INTERVAL '15h 15m 15s','HH24:MI:SS' );
Sortir
Après avoir exécuté avec succès la commande ci-dessus, nous obtiendrons le résultat ci-dessous :
Opérateurs et fonctions liés aux intervalles PostgreSQL
Opérateurs d'intervalle
Nous pouvons utiliser ce qui suit +, -, *, etc. opérateur arithmétique pour obtenir les valeurs d'intervalle.
Voyons l'exemple ci-dessous pour notre meilleure compréhension :
Dans la commande suivante, nous utiliserons le opérateur arithmétique (+) à l'aide du type de données d'intervalle PostgreSQL :
SELECT INTERVAL '1h 50m' + INTERVAL '5m';
Sortir
Nous obtiendrons le résultat ci-dessous en implémentant la commande ci-dessus, comme indiqué ci-dessous :
Dans la commande suivante, nous utiliserons le opérateur arithmétique (-) à l'aide du type de données d'intervalle PostgreSQL :
SELECT INTERVAL '3h 50m' - INTERVAL '30m';
Sortir
En implémentant la commande ci-dessus, nous obtiendrons le résultat ci-dessous :
Dans la commande suivante, nous utiliserons le opérateur arithmétique (*) à l'aide du type de données d'intervalle PostgreSQL :
SELECT 400 * INTERVAL '5 minute';
Sortir
En implémentant la commande ci-dessus, nous obtiendrons le résultat ci-dessous :
Extraire des données d'un intervalle PostgreSQL
Nous pouvons utiliser le EXTRAIT() fonction pour extraire les champs d'une valeur d'intervalle, par exemple, année, mois, date, etc. .
La syntaxe pour extraire des données d'un intervalle PostgreSQL
EXTRACT(field FROM interval)
Dans la syntaxe ci-dessus, nous pouvons utiliser le année, mois, date, heure, minutes , etc., dans le paramètre field.
Le extrait La fonction renvoie une valeur de type double précision si l'on veut extraire de l'intervalle.
Dans l'exemple suivant, nous utiliserons le EXTRAIT() fonction pour récupérer la valeur en double précision.
SELECT EXTRACT (MINUTE FROM INTERVAL '2 hours 30 minutes' );
Sortir
Après avoir exécuté avec succès la commande ci-dessus, nous obtiendrons la sortie ci-dessous, qui affiche le partie date pour la double précision valeurs comme indiqué ci-dessous :
Ajustement des valeurs d'intervalle PostgreSQL
Nous avons deux fonctions, justifier_jours et justifier_heures dans PostgreSQL, ce qui nous permet de modifier le intervalle de 24 heures considérer comme un jour et l'intervalle de 30 jours considérer comme un mois .
Voyons un exemple pour comprendre comment nous ajustons les valeurs d'intervalle PostgreSQL :
instruction if-else java
Dans la commande suivante, nous utiliserons le Fonctions justifier_days et justifier_heures :
SELECT justify_days(INTERVAL '30 days'), justify_hours(INTERVAL '24 hours');
Sortir
Après avoir exécuté la commande ci-dessus, nous obtiendrons le résultat suivant, qui affiche l'intervalle de 30 jours comme un mois et le intervalle de 24 heures comme un jour :
A part ça, le justifier_intervalle La fonction régule les valeurs d'intervalle à l'aide de justifier_jours et justifier_heures avec des modifications de signe ajoutées :
Dans l'exemple suivant, nous utiliserons la fonction justifiy_interval avec la commande SELECT :
SELECT justify_interval(interval '6 months -1 hour');
Sortir
Nous obtiendrons le résultat suivant après avoir implémenté la commande ci-dessus :
Aperçu
Dans le Type de données PostgreSQL Intervalle section, nous avons appris les sujets suivants:
- Le Données d'intervalle PostgreSQL type est utilisé pour stocker et déployer une période dans années, mois, jours, heures, minutes, secondes.
- Nous avons utilisé différents Fonctions d'intervalle , Par exemple, MAINTENANT(), TO_CHAR(), pour améliorer les valeurs d'intervalle d'une table particulière.
- Les valeurs d'intervalle PostgreSQL ont à la fois entrée et sortie format d'intervalle.
- Nous pouvons ajuster les valeurs d'intervalle PostgreSQL à l'aide de Fonctions justifier_days(), justifier_heures, justifier_intervalle().
- Nous pouvons utiliser le EXTRAIT() fonction pour extraire les valeurs du champ d’intervalle.