Casting des types de données dans Postgresql
La conversion des données est courante dans tous les paradigmes de programmation surtout lors de la manipulation des transactions dans les bases de données. Comme dans d’autres bases de données postgresql prévoit des opérations CAST qui permettent la conversion d’un type de données en un autre. Il existe plusieurs opérations CAST dans postgresql pour convertir des chaînes de caractères en nombres entiers, des chaînes de caractères en booléens, des chaînes de caractères en dates et vice versa. Cet article illustre par des exemples les fonctions de l’opérateur CAST dans postgresql. Lors de l’utilisation de cet opérateur, la syntaxe suivante est utilisée :
1
|
CAST (expression AS target_type );
|
où l’expression peut être soit une constante, une colonne de table, ou une expression qui évalue à une valeur spécifique. Le type_cible est le type de données cible auquel notre expression aboutira après conversion.Une autre version du casting dans postgresql implique l’utilisation de l’opérateur ::
. La syntaxe dans ce cas est la suivante :
1
|
Expression : : type
|
Prenons maintenant quelques exemples utilisant l’opérateur CAST.
Casting de chaîne de caractères en nombre entier
Pour convertir une chaîne de caractères en nombre entier, nous utilisons l’expression suivante
1
2 |
SELECT
CAST (‘500’ AS INTEGER) ; |
Cette illustration convertit la chaîne de caractères « 500 » en un entier de type 500. Une chose essentielle à retenir est qu’une conversion réussie se produit lorsque le type de données cible est compatible avec l’expression. En utilisant l’exemple ci-dessus, postgresql par une erreur de conversion de type lorsque nous remplaçons l’expression « 500 » par « a500 » car ils ne sont pas compatibles.
Postgres cast to Boolean
Le cast des expressions en booléen les convertit en types de données logiques. Ci-dessous, un exemple qui utilise la fonction CAST ( ) pour couler des expressions de chaînes de caractères, de chars et d’entiers en types de données booléennes.
1
2 3 4 5 6 7 |
SELECT
CAST(‘1’ as BOOLEAN), CAST(‘0’ as BOOLEAN) ; CAST(‘true’ AS BOOLEAN), CAST(‘false’ as BOOLEAN), CAST(‘T’ as BOOLEAN), CAST(‘F’ as BOOLEAN); |
Postgresql cast timestamp to date
Nous obtenons la date exacte à partir d’un timestamp spécifique en utilisant Cast :: avec le timestamp en entrée et en ajoutant le suffixe ::date :
La syntaxe est la suivante :
1
|
SELECT expression ::TIMESTAMP::DATE;
|
Prenez un exemple lorsque vous voulez extraire de ‘2019-07-13 1:20:50′ à ‘2019-07-13’ Notre requête Cast serait :
1
|
SELECT ‘2019-07-13 1:20:50’::TIMESTAMP::DATE;
|
Postgresql cast double précision en numérique.
L’expression en double précision prend plus de points décimaux par rapport aux types de données flottantes. Dans le cas de la mémoire du processeur, les types de double précision peuvent occuper jusqu’à 64 bits de mémoire. Lors de la conversion de la double précision, c’est assez similaire à l’arrondi de l’expression. Cependant, le casting est utilisé lorsque nous voulons obtenir le résultat exact de l’expression. Dans l’exemple ci-dessous, nous utiliserons l’opérateur cast ::
avec l’instruction Select pour illustrer la conversion.
Syntaxe : SELECT (Double précision : : numérique);SELECT (33,135941093 : : numérique) ;
Une autre façon de le faire est d’utiliser la fonction cast () comme indiqué ci-dessous:
Syntaxe :
SELECT CAST (Double précision AS numeric)
1
2 |
SELECT
CAST ( 33.135941093 AS numeric) |
Postgresql Cast string to a date
L’exemple suivant illustre le casting d’une chaîne en date en utilisant la commande sql SELECT :
1
2 3 |
SELECT
CAST (‘2019-07-14’ COMME DATE), CAST (’13-JULY-2019′ COMME DATE) ; |
Dans l’exemple, nous convertissons d’abord la chaîne ‘2019-07-14′ en 14 juillet 2019 tandis que dans la deuxième partie, nous convertissons ’13-JUILLET-2019’ en 13 juillet 2019.
Conclusion
Nous vous avons montré plusieurs techniques de coulée ainsi que plusieurs exemples. Nous espérons que vous avez trouvé un de ces exemples utiles et que vous êtes en mesure d’appliquer ce que vous avez appris à votre application spécifique.
Si vous avez besoin d’aide pour configurer ou gérer votre base de données PostgreSQL, n’hésitez pas à nous contacter chez Object Rocket pour discuter des détails de votre projet et déterminer si nous pouvons vous aider.