Tipi di dati di gamma integrata postgresql

Tipi di dati di gamma integrata postgresql
La serie sequenziale di dati si chiama dati di intervallo. Il database PostgreSQL supporta una serie di tipi di dati che è una caratteristica univoca di questo database. I tipi di dati di intervallo e multi-range sono introdotti nella versione PostgreSQL 14. Questo tipo di dati memorizza i valori inferiori e superiori. Il valore intero o il valore del timestamp può essere memorizzato nel campo di questo tipo di dati. Quando è necessario archiviare molti valori in un valore di intervallo singolo, è meglio utilizzare il tipo di dati di intervallo. Di seguito è stata menzionata la gamma integrata di tipi di dati supportati da PostgreSQL.
Tipi di gamma Scopo
int4range Definisce la gamma di numeri interi.
int4multinge Definisce i numeri interi multi-range.
int8range Definisce la gamma di grandi numeri interi.
int8multinge Definisce i grandi numeri interi multi-range.
Numrange Definisce l'intervallo di numeri.
nummultirange Definisce il multi-range di numeri.
Tsrange Definisce la gamma di timestamp senza il fuso orario.
tsmultirange Definisce il multi-range di timestamp senza il fuso orario.
Tstzrange Definisce la gamma di timestamp con il fuso orario.
tstzmultirange Definisce il multi-range di timestamp con il fuso orario.
intervallo di date Definisce l'intervallo di data.
DateMultiRange Definisce la data multi-range.

Prerequisiti:

È necessario installare l'ultima versione dei pacchetti PostgreSQL sul sistema operativo Linux prima di eseguire le istruzioni SQL mostrate in questo tutorial. Esegui i seguenti comandi per installare e avviare PostgreSQL:

$ sudo apt-get -y installa postgresql postgresql-confrib
$ sudo systemctl Inizia postgresql.servizio

Esegui il seguente comando per accedere a PostgreSQL con l'autorizzazione alla radice:

$ sudo -u postgres psql

PostgreSQL Range Data Type Esempi:

Prima di creare qualsiasi tabella con il tipo di dati booleani è necessario creare un database PostgreSQL. Quindi, eseguire il seguente comando per creare un database chiamato 'Testdb':

# Crea test Database TestDB;

Verrà visualizzato il seguente output dopo la creazione del database:

UN. Utilizzo del tipo di dati di intervallo intero
Crea una tabella denominata 'tbl_intrange' Nel database corrente con due campi. Qui, il primo nome di campo è id che è la chiave principale della tabella. Il valore di questo campo verrà incrementato automaticamente quando un nuovo record si inserisce. Il secondo nome del campo è int_range E il tipo di dati è Int4range.

# Crea tabella tbl_intrange (
Chiave primaria seriale ID,
int_range int4range);

Verrà visualizzato il seguente output se la tabella viene creata correttamente.

Eseguire la seguente query di inserimento per inserire tre record nel tbl_intrange tavolo:

# Inserisci in tbl_intrange (int_range)
Valori ('[1, 10)' :: int4range),
('[1, 20)' :: int4range),
('[1, 30)' :: int4range);

Verrà visualizzato il seguente output dopo aver eseguito la query sopra:

Esegui le seguenti query Seleziona per leggere tutti i record da tbl_intrange:

# Seleziona * da tbl_intrange;

Esegui le seguenti query Seleziona per leggere quei record da tbl_intrange DOVE int_range è maggiore di 12:

# Seleziona * da tbl_intrange dove int_range @> 12;

Verrà visualizzato il seguente output dopo l'esecuzione delle query Seleziona sopra:

B. Utilizzo del tipo di dati di gamma numerica
Crea una tabella denominata 'tbl_numrange' Nel database corrente con due campi. Qui, il primo nome di campo è id che è la chiave principale della tabella. Il valore di questo campo verrà incrementato automaticamente quando un nuovo record si inserisce. Il secondo nome del campo è NUM_RANGE E il tipo di dati è Numrange.

# Crea tabella tbl_numrange (
Chiave primaria seriale ID,
num_range numRange);

Eseguire la seguente query di inserimento per inserire tre record nel tbl_numrange tavolo:

# Inserisci in tbl_numrange (num_range)
Valori (numrange (20, 40)),
(numRange (100, 500));

Verrà visualizzato il seguente output dopo aver eseguito le query sopra:

Esegui la seguente query Seleziona che leggerà tutti i record da TBL_numRange:

# Seleziona * da tbl_numrange;

Verrà visualizzato il seguente output dopo aver eseguito la query selezionata sopra:

C. Utilizzo del tipo di dati Gamma Timestamp
Crea una tabella denominata 'tbl_timerange' Nel database corrente con due campi. Qui, il primo nome di campo è id che è la chiave principale della tabella. Il valore di questo campo verrà incrementato automaticamente quando un nuovo record si inserisce. Il secondo nome del campo è intervallo di tempo E il tipo di dati è Tsrange.

# Crea tabella tbl_timerange (
Chiave primaria seriale ID,
Timerange Tsrange);

Eseguire la seguente query di inserimento per inserire tre record nel tbl_timerange tavolo:

# Inserisci in tbl_timerange (TimeRange)
Valori ('[2022-05-20 10:20:30, 2022-05-21 10:20:15)'),
('[2022-09-13 9:30:15, 2022-09-14 11:10:20)');

Verrà visualizzato il seguente output dopo aver eseguito le query sopra:

Esegui la seguente query Seleziona che leggerà tutti i record da tbl_timerange:

# Seleziona * da tbl_timerange;

Verrà visualizzato il seguente output dopo aver eseguito la query selezionata sopra:

D. Utilizzo del tipo di dati dell'intervallo di date
Crea una tabella denominata 'TBL_DATERANGE' Nel database corrente con due campi. Qui, il primo nome di campo è id che è la chiave principale della tabella. Il valore di questo campo verrà incrementato automaticamente quando un nuovo record si inserisce. Il secondo nome del campo è intervallo di date E il tipo di dati è INTERVALLO DI DATE.

# Crea tabella TBL_DaTERANGE (
Chiave primaria seriale ID,
Date_Range daTange);

Eseguire la seguente query di inserimento per inserire tre record nel TBL_DATERANGE tavolo:

# Inserisci in tbl_daterange (date_range)
Valori ('[2022-05-20, 2022-05-21)'),
('[2022-07-10, 2022-07-15)'),
('[2022-12-01, 2022-12-16)');

Verrà visualizzato il seguente output dopo aver eseguito le query sopra:

Esegui la seguente query Seleziona che leggerà tutti i record da TBL_DATERANGE:

# Seleziona * da TBL_DATERANGE;

Esegui la seguente query seleziona che leggerà quei record da TBL_DATERANGE dove il valore della data di la data_range Il campo è maggiore di '2002-07-13'.

# Seleziona *da tbl_daTange dove data_range @> '2022-07-13' :: data;

Verrà visualizzato il seguente output dopo aver eseguito le query sopra:

Conclusione:

In questo tutorial sono stati mostrati diversi usi dei tipi di dati di gamma di postgresql utilizzando più tabelle. I nuovi utenti di PostgreSQL saranno in grado di utilizzare la gamma di tipi di dati nelle loro tabelle dopo aver letto questo tutorial.