Sommario: in questo tutorial, vi mostreremo come usare l’operatore PostgreSQL CAST per convertire un valore di un tipo in un altro.

Introduzione all’operatore PostgreSQL CAST

Ci sono molti casi in cui volete convertire un valore di un tipo di dati in un altro. PostgreSQL vi fornisce l’operatore CAST che vi permette di farlo.

Il seguente illustra la sintassi del tipo CAST:

Code language: SQL (Structured Query Language) (sql)

In questa sintassi:

  • Prima, specificate un’espressione che può essere una costante, una colonna di tabella, un’espressione che valuta un valore.
  • Poi, specificate il tipo di dati di destinazione in cui volete convertire il risultato dell’espressione.

PostgreSQL type cast :: operator

Oltre alla sintassi del tipo CAST, puoi usare la seguente sintassi per convertire un valore di un tipo in un altro:

Code language: SQL (Structured Query Language) (sql)

Vedi il seguente esempio:

Code language: SQL (Structured Query Language) (sql)

Si noti che la sintassi cast con l’operatore cast (::) è specifica di PostgreSQL e non è conforme allo standard SQL

Esempi CAST di PostgreSQL

Facciamo alcuni esempi di utilizzo dell’operatore CAST per convertire un valore di un tipo in un altro.

1) Esempio di Cast di una stringa in un intero

La seguente istruzione converte una costante stringa in un intero:

Code language: SQL (Structured Query Language) (sql)

Se l’espressione non può essere convertita nel tipo di destinazione, PostgreSQL solleverà un errore. Vedi il seguente esempio:

Code language: SQL (Structured Query Language) (sql)
Code language: PHP (php)

2) Cast di una stringa in una data esempio

Questo esempio usa il CAST per convertire una stringa in una data:

Code language: SQL (Structured Query Language) (sql)

Prima, abbiamo convertito 2015-01-01 stringa letterale in January 1st 2015. In secondo luogo, abbiamo convertito 01-OCT-2015 in October 1st 2015.

3) Cast di una stringa in un doppio esempio

Nel seguente esempio, proviamo a convertire una stringa '10.2' in un valore doppio:

Code language: SQL (Structured Query Language) (sql)

Ops, abbiamo il seguente messaggio di errore:

Code language: PHP (php)

Per risolvere questo problema, devi usare DOUBLE PRECISION invece di DOUBLE come segue:

Code language: SQL (Structured Query Language) (sql)

4) Cast di una stringa in un booleano esempio

Questo esempio usa il CAST() per convertire la stringa ‘true’, ‘T’ in true e ‘false’, ‘F’ in false:

Code language: SQL (Structured Query Language) (sql)

Ecco il risultato:

5) Convertire una stringa in un timestamp esempio

Questo esempio usa l’operatore cast (::) per convertire una stringa in un timestamp:

Code language: SQL (Structured Query Language) (sql)

6) Convertire una stringa in un intervallo esempio

Questo esempio usa l’operatore cast per convertire una stringa in un intervallo:

Code language: SQL (Structured Query Language) (sql)

Ecco l’output:

7) Usare CAST con i dati della tabella esempio

Primo, crea una tabella ratings che consiste di due colonne: id e rating. Il tipo di dati della colonna rating è VARCHAR(1):

Code language: SQL (Structured Query Language) (sql)

Secondo, inserire alcuni dati di esempio nella tabella ratings.

Code language: SQL (Structured Query Language) (sql)

Perché i requisiti cambiano, usiamo la stessa tabella ratings per memorizzare le valutazioni come numero ad es, 1, 2, 3 invece di A, B, e C:

Code language: SQL (Structured Query Language) (sql)

Quindi la tabella ratings memorizza valori misti tra numerico e stringa.

Code language: SQL (Structured Query Language) (sql)

Ora, dobbiamo convertire tutti i valori nella colonna rating in numeri interi, tutte le altre valutazioni A, B, C saranno visualizzate come zero. Per fare questo, si usa l’espressione CASE con il tipo CAST come mostrato nella seguente query:

Code language: SQL (Structured Query Language) (sql)

La CASE controlla la valutazione, se corrisponde al modello intero, converte la valutazione in un intero, altrimenti, restituisce 0.

In questo tutorial, hai imparato come usare PostgreSQL CAST per convertire un valore di un tipo in un altro.

  • Questo tutorial è stato utile?
  • SìNo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.