Introduction

Lorsque vous travaillez avec des données stockées dans PostgreSQL, vous pouvez avoir certaines données que vous préféreriez traiter comme un type de données différent. Par exemple, vous pouvez avoir une valeur texte qui représente un nombre, comme « 53 ». Afin d’effectuer des calculs sur cette valeur, il pourrait être plus judicieux de la convertir en un nombre entier. Dans Postgres, la fonction CAST est utilisée pour convertir le type de données d’une valeur en un autre type de données. La valeur doit être compatible avec le type de données ciblé, sinon une erreur sera renvoyée. Dans cet article sur PostgreSQL, nous vous montrerons comment utiliser la fonction PostgreSQL CAST et passerons en revue quelques exemples de différentes conversions.

Prérequis

Avant de procéder à ce tutoriel, deux prérequis clés doivent être en place :

  • Vous devez avoir PostgreSQL installé et configuré sur votre ordinateur.
  • Vous devez avoir des connaissances de base sur PostgreSQL.

Fonction CAST de PostgreSQL

Il y a deux façons de CASTfaire une valeur dans PostgreSQL. Dans la première méthode, nous spécifions la valeur et le type de données ciblé à l’intérieur des parenthèses de la fonction CAST. La syntaxe est présentée ci-dessous:

1
SELECT CAST ( VALUE AS TYPE )

Une autre façon de couler une valeur est d’utiliser la notation :: entre la valeur et le type de données ciblé. Vous pouvez voir la syntaxe ci-dessous:

1
SELECT VALUE::TYPE

Dans cette syntaxe, le value représente la valeur que vous voulez couler ou changer le type de données.Le type représente le type de données que vous ciblez pour cette valeur ; quelques valeurs possibles de type incluent INTEGER, FLOAT et CHAR.

Exemple de Postgres CAST

Regardons quelques exemples de la façon d’utiliser la fonction CAST de Postgres.

Postgres CAST to String

Pour notre premier exemple, nous allons couler une valeur comme une valeur de chaîne. Nous pouvons voir comment cela est fait dans l’instruction SELECT suivante :

1
2
3
4
5
SELECT CAST( 5137 AS TEXT ) ;
text
——
5137
(1 ROW)

Postgres CAST to Integer

Plus loin, nous allons convertir une valeur de type texte en un entier. L’instruction suivante montre comment faire :

1
2
3
4
5
SELECT CAST( ‘214’ AS INTEGER ) ;
int4
——
214
(1 ROW)

Dans l’exemple présenté ci-dessous, nous allons couler une valeur entière vers le type de données MONEY. Nous pouvons voir comment cela fonctionne dans l’instruction suivante:

1
2
3
4
5
SELECT CAST(7419 AS MONEY);
money
———–
$7,419.00
(1 ROW)

Postgres CAST to Interval

Notre prochain exemple va couler une valeur texte vers le type de données INTERVAL. L’instruction SELECT suivante montre comment cela fonctionne :

1
2
3
4
5
SELECT CAST (‘1 an 2 mois 7 jours’ AS INTERVAL) ;
INTERVAL
———————-
1 YEAR 2 mons 7 days
(1 ROW)

Postgres CAST to Date

Nous pouvons également utiliser la fonction CAST pour convertir une valeur textuelle en un type de données DATE comme le montre l’exemple ci-dessous :

1
2
3
4
5
SELECT CAST(’24 juillet 1999′ AS DATE ) ;
DATE
————
1999-07-24
(1 ROW)

Voici une autre façon de CASTfaire du texte comme une date :

1
2
3
4
5
SELECT CAST(’24-07-99′ AS DATE ) ;
DATE
————
1999-07-24
(1 ROW)

Postgres CAST With Trim

Dans l’exemple montré ci-dessous, nous allons rogner une valeur texte, puis nous allons couler le résultat qui est retourné par TRIM :

1
2
3
4
5
SELECT CAST( TRIM( LEADING ‘DATE ‘ FROM ‘DATE January 28, 1998’ ) AS DATE) ;
ltrim
————
1998-01-28
(1 ROW)

Postgres CAST Avec Concaténation

Nous pouvons concaténer deux ou plusieurs chaînes de caractères en utilisant l’opérateur ||. Dans notre dernier exemple, nous allons concaténer une valeur de chaîne de caractères avec une valeur de date qui est cast en TEXT. L’instruction ci-dessous montre comment faire:

1
2
3
4
5
SELECT ‘La date actuelle est ‘ || CAST( CURRENT_DATE AS TEXT );
?COLUMN ?
——————————–
La date actuelle est 2020-03-28
(1 ROW)

Conclusion

Lorsque vous interrogez des données dans PostgreSQL, vous pouvez vouloir que les valeurs de certaines colonnes soient converties en un type de données différent. Changer le type de données peut faciliter l’exécution de calculs et d’opérations de traitement sur les données retournées. Dans cet article, nous vous avons montré comment utiliser la fonction CAST de Postgres pour convertir le type de données d’une valeur. Si vous avez suivi tous les exemples présentés dans cet article, vous serez en mesure d’utiliser efficacement la fonction CAST dans vos propres requêtes PostgreSQL.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.