Maison > base de données > tutoriel mysql > Comment convertir des données PostgreSQL JSONB en flotteurs pour des opérations mathématiques ?

Comment convertir des données PostgreSQL JSONB en flotteurs pour des opérations mathématiques ?

DDD
Libérer: 2024-12-29 14:48:11
original
854 Les gens l'ont consulté

How to Cast PostgreSQL JSONB Data to Float for Mathematical Operations?

Conversion de données JSONB PostgreSQL en flottant

Dans PostgreSQL, tenter d'effectuer des opérations mathématiques avec des données JSONB entraîne souvent des erreurs telles que "l'opérateur n'existe pas" lors de la conversion en float n'est pas explicitement spécifié.

Pour résoudre ce problème, considérez les différentes récupérations de valeurs JSON opérateurs :

  • -> (Opérateur de flèche) : renvoie les valeurs JSON sous forme de JSON.
  • ->> (Double Opérateur de flèche) : renvoie les valeurs de texte.

Étant donné que les flottants sont stockés sous forme de texte dans JSONB, il est nécessaire d'utiliser le ->> (Double Flèche) pour extraire la représentation sous forme de chaîne du float avant d'essayer de le transformer en float.

Par exemple, considérons la requête suivante :

SELECT (json_data->'position'->'lat')::float + 1.0 AS lat
FROM updates
LIMIT 5
Copier après la connexion

Ici, l'opérateur -> L'opérateur (Flèche) est initialement utilisé pour extraire la « position » de l'objet JSON. Le ->> L'opérateur (Double Flèche) est ensuite utilisé pour récupérer la valeur de chaîne de « lat ». Enfin, l'opérateur de conversion ::float est utilisé pour convertir la chaîne en flottant.

En utilisant l'opérateur de récupération de valeur JSON approprié, vous pouvez convertir avec succès les valeurs JSONB en flottants dans vos requêtes PostgreSQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal